// export function WOWOWO ; var i , atakujacy , broniacy ; begin
   0: LD_INT 0
   2: PPUSH
   3: PPUSH
   4: PPUSH
   5: PPUSH
// broniacy = FilterAllUnits ( [ f_side , 4 ] ) ;
   6: LD_ADDR_VAR 0 4
  10: PUSH
  11: LD_INT 22
  13: PUSH
  14: LD_INT 4
  16: PUSH
  17: EMPTY
  18: LIST
  19: LIST
  20: PPUSH
  21: CALL_OW 69
  25: ST_TO_ADDR
// atakujacy = FilterAllUnits ( [ f_side , 5 ] ) ;
  26: LD_ADDR_VAR 0 3
  30: PUSH
  31: LD_INT 22
  33: PUSH
  34: LD_INT 5
  36: PUSH
  37: EMPTY
  38: LIST
  39: LIST
  40: PPUSH
  41: CALL_OW 69
  45: ST_TO_ADDR
// for i in atakujacy do
  46: LD_ADDR_VAR 0 2
  50: PUSH
  51: LD_VAR 0 3
  55: PUSH
  56: FOR_IN
  57: IFFALSE 85
// begin ComAttackUnit ( i , NearestUnitToUnit ( broniacy , i ) ) ;
  59: LD_VAR 0 2
  63: PPUSH
  64: LD_VAR 0 4
  68: PPUSH
  69: LD_VAR 0 2
  73: PPUSH
  74: CALL_OW 74
  78: PPUSH
  79: CALL_OW 115
// end ;
  83: GO 56
  85: POP
  86: POP
// end ;
  87: LD_VAR 0 1
  91: RET
// every 0 0$2 do
  92: GO 94
  94: DISABLE
// begin WOWOWO ;
  95: CALL 0 0 0
// enable ;
  99: ENABLE
// end ; end_of_file
 100: END
// export comp_engs3 , comp_engs2 , Ar_turret ; export function PrepareAmerican ; var Ar_turret , i , un , b , x1 , y1 , k , l , level , am_depot1 , comp_units , am_depot2 , am_kosze1 , am_lab1 , ar_kosze2 , Ar_lab2 , Ar_fabryka1 , ar_sklad1 ; begin
 101: LD_INT 0
 103: PPUSH
 104: PPUSH
 105: PPUSH
 106: PPUSH
 107: PPUSH
 108: PPUSH
 109: PPUSH
 110: PPUSH
 111: PPUSH
 112: PPUSH
 113: PPUSH
 114: PPUSH
 115: PPUSH
 116: PPUSH
 117: PPUSH
 118: PPUSH
 119: PPUSH
 120: PPUSH
 121: PPUSH
// SoldLevel = [ 6 , 7 , 8 ] [ Difficulty ] ;
 122: LD_ADDR_EXP 57
 126: PUSH
 127: LD_INT 6
 129: PUSH
 130: LD_INT 7
 132: PUSH
 133: LD_INT 8
 135: PUSH
 136: EMPTY
 137: LIST
 138: LIST
 139: LIST
 140: PUSH
 141: LD_OWVAR 67
 145: ARRAY
 146: ST_TO_ADDR
// Ar_Turret := FilterUnitsInArea ( ARABSCY , [ [ f_side , 2 ] , [ f_btype , b_bunker ] ] ) ;
 147: LD_ADDR_VAR 0 2
 151: PUSH
 152: LD_INT 3
 154: PPUSH
 155: LD_INT 22
 157: PUSH
 158: LD_INT 2
 160: PUSH
 161: EMPTY
 162: LIST
 163: LIST
 164: PUSH
 165: LD_INT 30
 167: PUSH
 168: LD_INT 32
 170: PUSH
 171: EMPTY
 172: LIST
 173: LIST
 174: PUSH
 175: EMPTY
 176: LIST
 177: LIST
 178: PPUSH
 179: CALL_OW 70
 183: ST_TO_ADDR
// uc_side = 2 ;
 184: LD_ADDR_OWVAR 20
 188: PUSH
 189: LD_INT 2
 191: ST_TO_ADDR
// uc_nation = 2 ;
 192: LD_ADDR_OWVAR 21
 196: PUSH
 197: LD_INT 2
 199: ST_TO_ADDR
// hc_gallery =  ;
 200: LD_ADDR_OWVAR 33
 204: PUSH
 205: LD_STRING 
 207: ST_TO_ADDR
// hc_name =  ;
 208: LD_ADDR_OWVAR 26
 212: PUSH
 213: LD_STRING 
 215: ST_TO_ADDR
// for i in Ar_Turret do
 216: LD_ADDR_VAR 0 3
 220: PUSH
 221: LD_VAR 0 2
 225: PUSH
 226: FOR_IN
 227: IFFALSE 372
// begin if IsInUnit ( i ) = 0 then
 229: LD_VAR 0 3
 233: PPUSH
 234: CALL_OW 310
 238: PUSH
 239: LD_INT 0
 241: EQUAL
 242: IFFALSE 370
// begin hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
 244: LD_ADDR_OWVAR 29
 248: PUSH
 249: LD_INT 9
 251: PPUSH
 252: LD_INT 11
 254: PPUSH
 255: CALL_OW 12
 259: PUSH
 260: LD_INT 10
 262: PPUSH
 263: LD_INT 12
 265: PPUSH
 266: CALL_OW 12
 270: PUSH
 271: EMPTY
 272: LIST
 273: LIST
 274: ST_TO_ADDR
// hc_skills = [ 10 , Rand ( 5 , 8 ) , Rand ( 5 , 7 ) , Rand ( 5 , 8 ) ] ;
 275: LD_ADDR_OWVAR 31
 279: PUSH
 280: LD_INT 10
 282: PUSH
 283: LD_INT 5
 285: PPUSH
 286: LD_INT 8
 288: PPUSH
 289: CALL_OW 12
 293: PUSH
 294: LD_INT 5
 296: PPUSH
 297: LD_INT 7
 299: PPUSH
 300: CALL_OW 12
 304: PUSH
 305: LD_INT 5
 307: PPUSH
 308: LD_INT 8
 310: PPUSH
 311: CALL_OW 12
 315: PUSH
 316: EMPTY
 317: LIST
 318: LIST
 319: LIST
 320: LIST
 321: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
 322: LD_ADDR_OWVAR 27
 326: PUSH
 327: LD_INT 1
 329: PPUSH
 330: LD_INT 2
 332: PPUSH
 333: CALL_OW 12
 337: ST_TO_ADDR
// hc_class = 1 ;
 338: LD_ADDR_OWVAR 28
 342: PUSH
 343: LD_INT 1
 345: ST_TO_ADDR
// un := CreateHuman ;
 346: LD_ADDR_VAR 0 4
 350: PUSH
 351: CALL_OW 44
 355: ST_TO_ADDR
// PlaceHumanInUnit ( un , i ) ;
 356: LD_VAR 0 4
 360: PPUSH
 361: LD_VAR 0 3
 365: PPUSH
 366: CALL_OW 52
// end ; end ;
 370: GO 226
 372: POP
 373: POP
// for i in kosze1 do
 374: LD_ADDR_VAR 0 3
 378: PUSH
 379: LD_INT 16
 381: PUSH
 382: FOR_IN
 383: IFFALSE 594
// begin l = 0 ;
 385: LD_ADDR_VAR 0 9
 389: PUSH
 390: LD_INT 0
 392: ST_TO_ADDR
// if IsInUnit ( i ) = 0 then
 393: LD_VAR 0 3
 397: PPUSH
 398: CALL_OW 310
 402: PUSH
 403: LD_INT 0
 405: EQUAL
 406: IFFALSE 592
// begin repeat begin randomizeall ;
 408: CALL_OW 11
// uc_side = 4 ;
 412: LD_ADDR_OWVAR 20
 416: PUSH
 417: LD_INT 4
 419: ST_TO_ADDR
// uc_nation = 1 ;
 420: LD_ADDR_OWVAR 21
 424: PUSH
 425: LD_INT 1
 427: ST_TO_ADDR
// hc_gallery =  ;
 428: LD_ADDR_OWVAR 33
 432: PUSH
 433: LD_STRING 
 435: ST_TO_ADDR
// hc_name =  ;
 436: LD_ADDR_OWVAR 26
 440: PUSH
 441: LD_STRING 
 443: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
 444: LD_ADDR_OWVAR 29
 448: PUSH
 449: LD_INT 9
 451: PPUSH
 452: LD_INT 11
 454: PPUSH
 455: CALL_OW 12
 459: PUSH
 460: LD_INT 10
 462: PPUSH
 463: LD_INT 12
 465: PPUSH
 466: CALL_OW 12
 470: PUSH
 471: EMPTY
 472: LIST
 473: LIST
 474: ST_TO_ADDR
// hc_skills = [ 5 , Rand ( 0 , 1 ) , Rand ( 0 , 2 ) , Rand ( 0 , 1 ) ] ;
 475: LD_ADDR_OWVAR 31
 479: PUSH
 480: LD_INT 5
 482: PUSH
 483: LD_INT 0
 485: PPUSH
 486: LD_INT 1
 488: PPUSH
 489: CALL_OW 12
 493: PUSH
 494: LD_INT 0
 496: PPUSH
 497: LD_INT 2
 499: PPUSH
 500: CALL_OW 12
 504: PUSH
 505: LD_INT 0
 507: PPUSH
 508: LD_INT 1
 510: PPUSH
 511: CALL_OW 12
 515: PUSH
 516: EMPTY
 517: LIST
 518: LIST
 519: LIST
 520: LIST
 521: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
 522: LD_ADDR_OWVAR 27
 526: PUSH
 527: LD_INT 1
 529: PPUSH
 530: LD_INT 2
 532: PPUSH
 533: CALL_OW 12
 537: ST_TO_ADDR
// hc_class = 1 ;
 538: LD_ADDR_OWVAR 28
 542: PUSH
 543: LD_INT 1
 545: ST_TO_ADDR
// un = CreateHuman ;
 546: LD_ADDR_VAR 0 4
 550: PUSH
 551: CALL_OW 44
 555: ST_TO_ADDR
// PlaceHumanInUnit ( un , kosze1 ) ;
 556: LD_VAR 0 4
 560: PPUSH
 561: LD_INT 16
 563: PPUSH
 564: CALL_OW 52
// l = l + 1 ;
 568: LD_ADDR_VAR 0 9
 572: PUSH
 573: LD_VAR 0 9
 577: PUSH
 578: LD_INT 1
 580: PLUS
 581: ST_TO_ADDR
// end until l = 2 ;
 582: LD_VAR 0 9
 586: PUSH
 587: LD_INT 2
 589: EQUAL
 590: IFFALSE 408
// end ; end ;
 592: GO 382
 594: POP
 595: POP
// for i in kosze2 do
 596: LD_ADDR_VAR 0 3
 600: PUSH
 601: LD_INT 28
 603: PUSH
 604: FOR_IN
 605: IFFALSE 818
// begin l = 0 ;
 607: LD_ADDR_VAR 0 9
 611: PUSH
 612: LD_INT 0
 614: ST_TO_ADDR
// if IsInUnit ( i ) = 0 then
 615: LD_VAR 0 3
 619: PPUSH
 620: CALL_OW 310
 624: PUSH
 625: LD_INT 0
 627: EQUAL
 628: IFFALSE 816
// begin repeat begin randomizeall ;
 630: CALL_OW 11
// uc_side = 2 ;
 634: LD_ADDR_OWVAR 20
 638: PUSH
 639: LD_INT 2
 641: ST_TO_ADDR
// uc_nation = 2 ;
 642: LD_ADDR_OWVAR 21
 646: PUSH
 647: LD_INT 2
 649: ST_TO_ADDR
// hc_gallery =  ;
 650: LD_ADDR_OWVAR 33
 654: PUSH
 655: LD_STRING 
 657: ST_TO_ADDR
// hc_name =  ;
 658: LD_ADDR_OWVAR 26
 662: PUSH
 663: LD_STRING 
 665: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
 666: LD_ADDR_OWVAR 29
 670: PUSH
 671: LD_INT 9
 673: PPUSH
 674: LD_INT 11
 676: PPUSH
 677: CALL_OW 12
 681: PUSH
 682: LD_INT 10
 684: PPUSH
 685: LD_INT 12
 687: PPUSH
 688: CALL_OW 12
 692: PUSH
 693: EMPTY
 694: LIST
 695: LIST
 696: ST_TO_ADDR
// hc_skills = [ SoldLevel , Rand ( 3 , 4 ) , Rand ( 1 , 4 ) , Rand ( 1 , 4 ) ] ;
 697: LD_ADDR_OWVAR 31
 701: PUSH
 702: LD_EXP 57
 706: PUSH
 707: LD_INT 3
 709: PPUSH
 710: LD_INT 4
 712: PPUSH
 713: CALL_OW 12
 717: PUSH
 718: LD_INT 1
 720: PPUSH
 721: LD_INT 4
 723: PPUSH
 724: CALL_OW 12
 728: PUSH
 729: LD_INT 1
 731: PPUSH
 732: LD_INT 4
 734: PPUSH
 735: CALL_OW 12
 739: PUSH
 740: EMPTY
 741: LIST
 742: LIST
 743: LIST
 744: LIST
 745: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
 746: LD_ADDR_OWVAR 27
 750: PUSH
 751: LD_INT 1
 753: PPUSH
 754: LD_INT 2
 756: PPUSH
 757: CALL_OW 12
 761: ST_TO_ADDR
// hc_class = 1 ;
 762: LD_ADDR_OWVAR 28
 766: PUSH
 767: LD_INT 1
 769: ST_TO_ADDR
// un = CreateHuman ;
 770: LD_ADDR_VAR 0 4
 774: PUSH
 775: CALL_OW 44
 779: ST_TO_ADDR
// PlaceHumanInUnit ( un , kosze2 ) ;
 780: LD_VAR 0 4
 784: PPUSH
 785: LD_INT 28
 787: PPUSH
 788: CALL_OW 52
// l = l + 1 ;
 792: LD_ADDR_VAR 0 9
 796: PUSH
 797: LD_VAR 0 9
 801: PUSH
 802: LD_INT 1
 804: PLUS
 805: ST_TO_ADDR
// end until l = 4 ;
 806: LD_VAR 0 9
 810: PUSH
 811: LD_INT 4
 813: EQUAL
 814: IFFALSE 630
// end ; end ;
 816: GO 604
 818: POP
 819: POP
// for i in fabryka1 do
 820: LD_ADDR_VAR 0 3
 824: PUSH
 825: LD_INT 89
 827: PUSH
 828: FOR_IN
 829: IFFALSE 1044
// begin l = 0 ;
 831: LD_ADDR_VAR 0 9
 835: PUSH
 836: LD_INT 0
 838: ST_TO_ADDR
// if IsInUnit ( i ) = 0 then
 839: LD_VAR 0 3
 843: PPUSH
 844: CALL_OW 310
 848: PUSH
 849: LD_INT 0
 851: EQUAL
 852: IFFALSE 1042
// begin repeat begin uc_side = 2 ;
 854: LD_ADDR_OWVAR 20
 858: PUSH
 859: LD_INT 2
 861: ST_TO_ADDR
// uc_nation = 2 ;
 862: LD_ADDR_OWVAR 21
 866: PUSH
 867: LD_INT 2
 869: ST_TO_ADDR
// hc_gallery =  ;
 870: LD_ADDR_OWVAR 33
 874: PUSH
 875: LD_STRING 
 877: ST_TO_ADDR
// hc_name =  ;
 878: LD_ADDR_OWVAR 26
 882: PUSH
 883: LD_STRING 
 885: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
 886: LD_ADDR_OWVAR 29
 890: PUSH
 891: LD_INT 9
 893: PPUSH
 894: LD_INT 11
 896: PPUSH
 897: CALL_OW 12
 901: PUSH
 902: LD_INT 10
 904: PPUSH
 905: LD_INT 12
 907: PPUSH
 908: CALL_OW 12
 912: PUSH
 913: EMPTY
 914: LIST
 915: LIST
 916: ST_TO_ADDR
// hc_skills = [ Rand ( 4 , 6 ) , Rand ( 5 , 6 ) , Rand ( 6 , 8 ) , Rand ( 5 , 7 ) ] ;
 917: LD_ADDR_OWVAR 31
 921: PUSH
 922: LD_INT 4
 924: PPUSH
 925: LD_INT 6
 927: PPUSH
 928: CALL_OW 12
 932: PUSH
 933: LD_INT 5
 935: PPUSH
 936: LD_INT 6
 938: PPUSH
 939: CALL_OW 12
 943: PUSH
 944: LD_INT 6
 946: PPUSH
 947: LD_INT 8
 949: PPUSH
 950: CALL_OW 12
 954: PUSH
 955: LD_INT 5
 957: PPUSH
 958: LD_INT 7
 960: PPUSH
 961: CALL_OW 12
 965: PUSH
 966: EMPTY
 967: LIST
 968: LIST
 969: LIST
 970: LIST
 971: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
 972: LD_ADDR_OWVAR 27
 976: PUSH
 977: LD_INT 1
 979: PPUSH
 980: LD_INT 2
 982: PPUSH
 983: CALL_OW 12
 987: ST_TO_ADDR
// hc_class = 3 ;
 988: LD_ADDR_OWVAR 28
 992: PUSH
 993: LD_INT 3
 995: ST_TO_ADDR
// un = CreateHuman ;
 996: LD_ADDR_VAR 0 4
1000: PUSH
1001: CALL_OW 44
1005: ST_TO_ADDR
// PlaceHumanInUnit ( un , fabryka1 ) ;
1006: LD_VAR 0 4
1010: PPUSH
1011: LD_INT 89
1013: PPUSH
1014: CALL_OW 52
// l = l + 1 ;
1018: LD_ADDR_VAR 0 9
1022: PUSH
1023: LD_VAR 0 9
1027: PUSH
1028: LD_INT 1
1030: PLUS
1031: ST_TO_ADDR
// end until l = 6 ;
1032: LD_VAR 0 9
1036: PUSH
1037: LD_INT 6
1039: EQUAL
1040: IFFALSE 854
// end ; end ;
1042: GO 828
1044: POP
1045: POP
// for i in lab2 do
1046: LD_ADDR_VAR 0 3
1050: PUSH
1051: LD_INT 29
1053: PUSH
1054: FOR_IN
1055: IFFALSE 1270
// begin l = 0 ;
1057: LD_ADDR_VAR 0 9
1061: PUSH
1062: LD_INT 0
1064: ST_TO_ADDR
// if IsInUnit ( i ) = 0 then
1065: LD_VAR 0 3
1069: PPUSH
1070: CALL_OW 310
1074: PUSH
1075: LD_INT 0
1077: EQUAL
1078: IFFALSE 1268
// begin repeat begin uc_side = 2 ;
1080: LD_ADDR_OWVAR 20
1084: PUSH
1085: LD_INT 2
1087: ST_TO_ADDR
// uc_nation = 2 ;
1088: LD_ADDR_OWVAR 21
1092: PUSH
1093: LD_INT 2
1095: ST_TO_ADDR
// hc_gallery =  ;
1096: LD_ADDR_OWVAR 33
1100: PUSH
1101: LD_STRING 
1103: ST_TO_ADDR
// hc_name =  ;
1104: LD_ADDR_OWVAR 26
1108: PUSH
1109: LD_STRING 
1111: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
1112: LD_ADDR_OWVAR 29
1116: PUSH
1117: LD_INT 9
1119: PPUSH
1120: LD_INT 11
1122: PPUSH
1123: CALL_OW 12
1127: PUSH
1128: LD_INT 10
1130: PPUSH
1131: LD_INT 12
1133: PPUSH
1134: CALL_OW 12
1138: PUSH
1139: EMPTY
1140: LIST
1141: LIST
1142: ST_TO_ADDR
// hc_skills = [ Rand ( 4 , 6 ) , Rand ( 5 , 6 ) , Rand ( 4 , 5 ) , Rand ( 6 , 8 ) ] ;
1143: LD_ADDR_OWVAR 31
1147: PUSH
1148: LD_INT 4
1150: PPUSH
1151: LD_INT 6
1153: PPUSH
1154: CALL_OW 12
1158: PUSH
1159: LD_INT 5
1161: PPUSH
1162: LD_INT 6
1164: PPUSH
1165: CALL_OW 12
1169: PUSH
1170: LD_INT 4
1172: PPUSH
1173: LD_INT 5
1175: PPUSH
1176: CALL_OW 12
1180: PUSH
1181: LD_INT 6
1183: PPUSH
1184: LD_INT 8
1186: PPUSH
1187: CALL_OW 12
1191: PUSH
1192: EMPTY
1193: LIST
1194: LIST
1195: LIST
1196: LIST
1197: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
1198: LD_ADDR_OWVAR 27
1202: PUSH
1203: LD_INT 1
1205: PPUSH
1206: LD_INT 2
1208: PPUSH
1209: CALL_OW 12
1213: ST_TO_ADDR
// hc_class = 4 ;
1214: LD_ADDR_OWVAR 28
1218: PUSH
1219: LD_INT 4
1221: ST_TO_ADDR
// un = CreateHuman ;
1222: LD_ADDR_VAR 0 4
1226: PUSH
1227: CALL_OW 44
1231: ST_TO_ADDR
// PlaceHumanInUnit ( un , lab2 ) ;
1232: LD_VAR 0 4
1236: PPUSH
1237: LD_INT 29
1239: PPUSH
1240: CALL_OW 52
// l = l + 1 ;
1244: LD_ADDR_VAR 0 9
1248: PUSH
1249: LD_VAR 0 9
1253: PUSH
1254: LD_INT 1
1256: PLUS
1257: ST_TO_ADDR
// end until l = 4 ;
1258: LD_VAR 0 9
1262: PUSH
1263: LD_INT 4
1265: EQUAL
1266: IFFALSE 1080
// end ; end ;
1268: GO 1054
1270: POP
1271: POP
// for i in sklad1 do
1272: LD_ADDR_VAR 0 3
1276: PUSH
1277: LD_INT 27
1279: PUSH
1280: FOR_IN
1281: IFFALSE 1496
// begin l = 0 ;
1283: LD_ADDR_VAR 0 9
1287: PUSH
1288: LD_INT 0
1290: ST_TO_ADDR
// if IsInUnit ( i ) = 0 then
1291: LD_VAR 0 3
1295: PPUSH
1296: CALL_OW 310
1300: PUSH
1301: LD_INT 0
1303: EQUAL
1304: IFFALSE 1494
// begin repeat begin uc_side = 2 ;
1306: LD_ADDR_OWVAR 20
1310: PUSH
1311: LD_INT 2
1313: ST_TO_ADDR
// uc_nation = 2 ;
1314: LD_ADDR_OWVAR 21
1318: PUSH
1319: LD_INT 2
1321: ST_TO_ADDR
// hc_gallery =  ;
1322: LD_ADDR_OWVAR 33
1326: PUSH
1327: LD_STRING 
1329: ST_TO_ADDR
// hc_name =  ;
1330: LD_ADDR_OWVAR 26
1334: PUSH
1335: LD_STRING 
1337: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
1338: LD_ADDR_OWVAR 29
1342: PUSH
1343: LD_INT 9
1345: PPUSH
1346: LD_INT 11
1348: PPUSH
1349: CALL_OW 12
1353: PUSH
1354: LD_INT 10
1356: PPUSH
1357: LD_INT 12
1359: PPUSH
1360: CALL_OW 12
1364: PUSH
1365: EMPTY
1366: LIST
1367: LIST
1368: ST_TO_ADDR
// hc_skills = [ Rand ( 4 , 6 ) , Rand ( 7 , 8 ) , Rand ( 4 , 5 ) , Rand ( 5 , 7 ) ] ;
1369: LD_ADDR_OWVAR 31
1373: PUSH
1374: LD_INT 4
1376: PPUSH
1377: LD_INT 6
1379: PPUSH
1380: CALL_OW 12
1384: PUSH
1385: LD_INT 7
1387: PPUSH
1388: LD_INT 8
1390: PPUSH
1391: CALL_OW 12
1395: PUSH
1396: LD_INT 4
1398: PPUSH
1399: LD_INT 5
1401: PPUSH
1402: CALL_OW 12
1406: PUSH
1407: LD_INT 5
1409: PPUSH
1410: LD_INT 7
1412: PPUSH
1413: CALL_OW 12
1417: PUSH
1418: EMPTY
1419: LIST
1420: LIST
1421: LIST
1422: LIST
1423: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
1424: LD_ADDR_OWVAR 27
1428: PUSH
1429: LD_INT 1
1431: PPUSH
1432: LD_INT 2
1434: PPUSH
1435: CALL_OW 12
1439: ST_TO_ADDR
// hc_class = 2 ;
1440: LD_ADDR_OWVAR 28
1444: PUSH
1445: LD_INT 2
1447: ST_TO_ADDR
// un = CreateHuman ;
1448: LD_ADDR_VAR 0 4
1452: PUSH
1453: CALL_OW 44
1457: ST_TO_ADDR
// PlaceHumanInUnit ( un , sklad1 ) ;
1458: LD_VAR 0 4
1462: PPUSH
1463: LD_INT 27
1465: PPUSH
1466: CALL_OW 52
// l = l + 1 ;
1470: LD_ADDR_VAR 0 9
1474: PUSH
1475: LD_VAR 0 9
1479: PUSH
1480: LD_INT 1
1482: PLUS
1483: ST_TO_ADDR
// end until l = 2 ;
1484: LD_VAR 0 9
1488: PUSH
1489: LD_INT 2
1491: EQUAL
1492: IFFALSE 1306
// end ; end ;
1494: GO 1280
1496: POP
1497: POP
// end ; end_of_file
1498: LD_VAR 0 1
1502: RET
// export OWChyba , PULK_01 ; export function PrepareHero ; begin
1503: LD_INT 0
1505: PPUSH
// uc_side = 4 ;
1506: LD_ADDR_OWVAR 20
1510: PUSH
1511: LD_INT 4
1513: ST_TO_ADDR
// uc_nation = 1 ;
1514: LD_ADDR_OWVAR 21
1518: PUSH
1519: LD_INT 1
1521: ST_TO_ADDR
// OWCHyba := CreateCharacter ( OWChyba ) ;
1522: LD_ADDR_EXP 4
1526: PUSH
1527: LD_STRING OWChyba
1529: PPUSH
1530: CALL_OW 34
1534: ST_TO_ADDR
// PlaceUnitArea ( OWChyba , WSPARCIE , false ) ;
1535: LD_EXP 4
1539: PPUSH
1540: LD_INT 1
1542: PPUSH
1543: LD_INT 0
1545: PPUSH
1546: CALL_OW 49
// uc_side = 1 ;
1550: LD_ADDR_OWVAR 20
1554: PUSH
1555: LD_INT 1
1557: ST_TO_ADDR
// uc_nation = 1 ;
1558: LD_ADDR_OWVAR 21
1562: PUSH
1563: LD_INT 1
1565: ST_TO_ADDR
// PULK_01 := CreateCharacter ( PULK_01 ) ;
1566: LD_ADDR_EXP 5
1570: PUSH
1571: LD_STRING PULK_01
1573: PPUSH
1574: CALL_OW 34
1578: ST_TO_ADDR
// end ; end_of_file
1579: LD_VAR 0 1
1583: RET
// export DR ; export function DR_1 ; begin
1584: LD_INT 0
1586: PPUSH
// ; hc_class = 4 ;
1587: LD_ADDR_OWVAR 28
1591: PUSH
1592: LD_INT 4
1594: ST_TO_ADDR
// hc_name = Dr Swen ;
1595: LD_ADDR_OWVAR 26
1599: PUSH
1600: LD_STRING Dr Swen
1602: ST_TO_ADDR
// uc_side = 4 ;
1603: LD_ADDR_OWVAR 20
1607: PUSH
1608: LD_INT 4
1610: ST_TO_ADDR
// hc_gallery =  ;
1611: LD_ADDR_OWVAR 33
1615: PUSH
1616: LD_STRING 
1618: ST_TO_ADDR
// hc_sex = sex_male ;
1619: LD_ADDR_OWVAR 27
1623: PUSH
1624: LD_INT 1
1626: ST_TO_ADDR
// hc_skills = [ 1 , 1 , 2 , 8 ] ;
1627: LD_ADDR_OWVAR 31
1631: PUSH
1632: LD_INT 1
1634: PUSH
1635: LD_INT 1
1637: PUSH
1638: LD_INT 2
1640: PUSH
1641: LD_INT 8
1643: PUSH
1644: EMPTY
1645: LIST
1646: LIST
1647: LIST
1648: LIST
1649: ST_TO_ADDR
// DR = CreateHuman ;
1650: LD_ADDR_EXP 6
1654: PUSH
1655: CALL_OW 44
1659: ST_TO_ADDR
// PlaceHumanInUnit ( DR , lab1 ) ;
1660: LD_EXP 6
1664: PPUSH
1665: LD_INT 18
1667: PPUSH
1668: CALL_OW 52
// end ; end_of_file
1672: LD_VAR 0 1
1676: RET
// export W1 , W2 , W3 , W4 , W8 , W11 , W10 , W9 , S1 , S2 , G1 , W12 , W13 ; export function wsparcie1 ; begin
1677: LD_INT 0
1679: PPUSH
// ; vc_chassis = 3 ;
1680: LD_ADDR_OWVAR 37
1684: PUSH
1685: LD_INT 3
1687: ST_TO_ADDR
// vc_engine = engine_combustion ;
1688: LD_ADDR_OWVAR 39
1692: PUSH
1693: LD_INT 1
1695: ST_TO_ADDR
// vc_control = control_manual ;
1696: LD_ADDR_OWVAR 38
1700: PUSH
1701: LD_INT 1
1703: ST_TO_ADDR
// vc_weapon = 12 ;
1704: LD_ADDR_OWVAR 40
1708: PUSH
1709: LD_INT 12
1711: ST_TO_ADDR
// W8 = CreateVehicle ;
1712: LD_ADDR_EXP 11
1716: PUSH
1717: CALL_OW 45
1721: ST_TO_ADDR
// W11 = CreateVehicle ;
1722: LD_ADDR_EXP 12
1726: PUSH
1727: CALL_OW 45
1731: ST_TO_ADDR
// W1 = CreateVehicle ;
1732: LD_ADDR_EXP 7
1736: PUSH
1737: CALL_OW 45
1741: ST_TO_ADDR
// W2 = CreateVehicle ;
1742: LD_ADDR_EXP 8
1746: PUSH
1747: CALL_OW 45
1751: ST_TO_ADDR
// W12 = CreateVehicle ;
1752: LD_ADDR_EXP 18
1756: PUSH
1757: CALL_OW 45
1761: ST_TO_ADDR
// hc_class = 3 ;
1762: LD_ADDR_OWVAR 28
1766: PUSH
1767: LD_INT 3
1769: ST_TO_ADDR
// hc_name =  ;
1770: LD_ADDR_OWVAR 26
1774: PUSH
1775: LD_STRING 
1777: ST_TO_ADDR
// uc_side = 4 ;
1778: LD_ADDR_OWVAR 20
1782: PUSH
1783: LD_INT 4
1785: ST_TO_ADDR
// uc_nation = 1 ;
1786: LD_ADDR_OWVAR 21
1790: PUSH
1791: LD_INT 1
1793: ST_TO_ADDR
// hc_gallery =  ;
1794: LD_ADDR_OWVAR 33
1798: PUSH
1799: LD_STRING 
1801: ST_TO_ADDR
// hc_sex = sex_male ;
1802: LD_ADDR_OWVAR 27
1806: PUSH
1807: LD_INT 1
1809: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 1 ) , Rand ( 2 , 3 ) , Rand ( 4 , 6 ) , Rand ( 0 , 1 ) ] ;
1810: LD_ADDR_OWVAR 31
1814: PUSH
1815: LD_INT 0
1817: PPUSH
1818: LD_INT 1
1820: PPUSH
1821: CALL_OW 12
1825: PUSH
1826: LD_INT 2
1828: PPUSH
1829: LD_INT 3
1831: PPUSH
1832: CALL_OW 12
1836: PUSH
1837: LD_INT 4
1839: PPUSH
1840: LD_INT 6
1842: PPUSH
1843: CALL_OW 12
1847: PUSH
1848: LD_INT 0
1850: PPUSH
1851: LD_INT 1
1853: PPUSH
1854: CALL_OW 12
1858: PUSH
1859: EMPTY
1860: LIST
1861: LIST
1862: LIST
1863: LIST
1864: ST_TO_ADDR
// W9 = CreateHuman ;
1865: LD_ADDR_EXP 14
1869: PUSH
1870: CALL_OW 44
1874: ST_TO_ADDR
// W10 = CreateHuman ;
1875: LD_ADDR_EXP 13
1879: PUSH
1880: CALL_OW 44
1884: ST_TO_ADDR
// W3 = CreateHuman ;
1885: LD_ADDR_EXP 9
1889: PUSH
1890: CALL_OW 44
1894: ST_TO_ADDR
// W4 = CreateHuman ;
1895: LD_ADDR_EXP 10
1899: PUSH
1900: CALL_OW 44
1904: ST_TO_ADDR
// W13 = CreateHuman ;
1905: LD_ADDR_EXP 19
1909: PUSH
1910: CALL_OW 44
1914: ST_TO_ADDR
// PlaceHumanInUnit ( W9 , W8 ) ;
1915: LD_EXP 14
1919: PPUSH
1920: LD_EXP 11
1924: PPUSH
1925: CALL_OW 52
// PlaceHumanInUnit ( W10 , W11 ) ;
1929: LD_EXP 13
1933: PPUSH
1934: LD_EXP 12
1938: PPUSH
1939: CALL_OW 52
// PlaceHumanInUnit ( W3 , W1 ) ;
1943: LD_EXP 9
1947: PPUSH
1948: LD_EXP 7
1952: PPUSH
1953: CALL_OW 52
// PlaceHumanInUnit ( W4 , W2 ) ;
1957: LD_EXP 10
1961: PPUSH
1962: LD_EXP 8
1966: PPUSH
1967: CALL_OW 52
// PlaceHumanInUnit ( W13 , W12 ) ;
1971: LD_EXP 19
1975: PPUSH
1976: LD_EXP 18
1980: PPUSH
1981: CALL_OW 52
// Setcargo ( W8 , mat_cans , 100 ) ;
1985: LD_EXP 11
1989: PPUSH
1990: LD_INT 1
1992: PPUSH
1993: LD_INT 100
1995: PPUSH
1996: CALL_OW 290
// setcargo ( W11 , mat_cans , 100 ) ;
2000: LD_EXP 12
2004: PPUSH
2005: LD_INT 1
2007: PPUSH
2008: LD_INT 100
2010: PPUSH
2011: CALL_OW 290
// Setcargo ( W1 , mat_cans , 100 ) ;
2015: LD_EXP 7
2019: PPUSH
2020: LD_INT 1
2022: PPUSH
2023: LD_INT 100
2025: PPUSH
2026: CALL_OW 290
// setcargo ( W2 , mat_cans , 100 ) ;
2030: LD_EXP 8
2034: PPUSH
2035: LD_INT 1
2037: PPUSH
2038: LD_INT 100
2040: PPUSH
2041: CALL_OW 290
// setcargo ( W12 , mat_cans , 100 ) ;
2045: LD_EXP 18
2049: PPUSH
2050: LD_INT 1
2052: PPUSH
2053: LD_INT 100
2055: PPUSH
2056: CALL_OW 290
// PlaceUnitArea ( W8 , WSPARCIE , false ) ;
2060: LD_EXP 11
2064: PPUSH
2065: LD_INT 1
2067: PPUSH
2068: LD_INT 0
2070: PPUSH
2071: CALL_OW 49
// PlaceUnitArea ( W11 , WSPARCIE , false ) ;
2075: LD_EXP 12
2079: PPUSH
2080: LD_INT 1
2082: PPUSH
2083: LD_INT 0
2085: PPUSH
2086: CALL_OW 49
// PlaceUnitArea ( W1 , WSPARCIE , false ) ;
2090: LD_EXP 7
2094: PPUSH
2095: LD_INT 1
2097: PPUSH
2098: LD_INT 0
2100: PPUSH
2101: CALL_OW 49
// PlaceUnitArea ( W2 , WSPARCIE , false ) ;
2105: LD_EXP 8
2109: PPUSH
2110: LD_INT 1
2112: PPUSH
2113: LD_INT 0
2115: PPUSH
2116: CALL_OW 49
// PlaceUnitArea ( W12 , WSPARCIE , false ) ;
2120: LD_EXP 18
2124: PPUSH
2125: LD_INT 1
2127: PPUSH
2128: LD_INT 0
2130: PPUSH
2131: CALL_OW 49
// hc_class = 1 ;
2135: LD_ADDR_OWVAR 28
2139: PUSH
2140: LD_INT 1
2142: ST_TO_ADDR
// hc_name =  ;
2143: LD_ADDR_OWVAR 26
2147: PUSH
2148: LD_STRING 
2150: ST_TO_ADDR
// uc_side = 4 ;
2151: LD_ADDR_OWVAR 20
2155: PUSH
2156: LD_INT 4
2158: ST_TO_ADDR
// uc_nation = 1 ;
2159: LD_ADDR_OWVAR 21
2163: PUSH
2164: LD_INT 1
2166: ST_TO_ADDR
// hc_gallery =  ;
2167: LD_ADDR_OWVAR 33
2171: PUSH
2172: LD_STRING 
2174: ST_TO_ADDR
// hc_sex = sex_male ;
2175: LD_ADDR_OWVAR 27
2179: PUSH
2180: LD_INT 1
2182: ST_TO_ADDR
// hc_skills = [ Rand ( 4 , 6 ) , Rand ( 1 , 3 ) , Rand ( 1 , 2 ) , Rand ( 1 , 2 ) ] ;
2183: LD_ADDR_OWVAR 31
2187: PUSH
2188: LD_INT 4
2190: PPUSH
2191: LD_INT 6
2193: PPUSH
2194: CALL_OW 12
2198: PUSH
2199: LD_INT 1
2201: PPUSH
2202: LD_INT 3
2204: PPUSH
2205: CALL_OW 12
2209: PUSH
2210: LD_INT 1
2212: PPUSH
2213: LD_INT 2
2215: PPUSH
2216: CALL_OW 12
2220: PUSH
2221: LD_INT 1
2223: PPUSH
2224: LD_INT 2
2226: PPUSH
2227: CALL_OW 12
2231: PUSH
2232: EMPTY
2233: LIST
2234: LIST
2235: LIST
2236: LIST
2237: ST_TO_ADDR
// S2 = CreateHuman ;
2238: LD_ADDR_EXP 16
2242: PUSH
2243: CALL_OW 44
2247: ST_TO_ADDR
// S1 = CreateHuman ;
2248: LD_ADDR_EXP 15
2252: PUSH
2253: CALL_OW 44
2257: ST_TO_ADDR
// PlaceUnitArea ( S1 , WSPARCIE , false ) ;
2258: LD_EXP 15
2262: PPUSH
2263: LD_INT 1
2265: PPUSH
2266: LD_INT 0
2268: PPUSH
2269: CALL_OW 49
// PlaceUnitArea ( S2 , WSPARCIE , false ) ;
2273: LD_EXP 16
2277: PPUSH
2278: LD_INT 1
2280: PPUSH
2281: LD_INT 0
2283: PPUSH
2284: CALL_OW 49
// hc_class = 4 ;
2288: LD_ADDR_OWVAR 28
2292: PUSH
2293: LD_INT 4
2295: ST_TO_ADDR
// hc_name =  ;
2296: LD_ADDR_OWVAR 26
2300: PUSH
2301: LD_STRING 
2303: ST_TO_ADDR
// uc_side = 4 ;
2304: LD_ADDR_OWVAR 20
2308: PUSH
2309: LD_INT 4
2311: ST_TO_ADDR
// uc_nation = 1 ;
2312: LD_ADDR_OWVAR 21
2316: PUSH
2317: LD_INT 1
2319: ST_TO_ADDR
// hc_gallery =  ;
2320: LD_ADDR_OWVAR 33
2324: PUSH
2325: LD_STRING 
2327: ST_TO_ADDR
// hc_sex = sex_male ;
2328: LD_ADDR_OWVAR 27
2332: PUSH
2333: LD_INT 1
2335: ST_TO_ADDR
// hc_skills = [ Rand ( 1 , 2 ) , Rand ( 1 , 2 ) , Rand ( 1 , 2 ) , Rand ( 6 , 7 ) ] ;
2336: LD_ADDR_OWVAR 31
2340: PUSH
2341: LD_INT 1
2343: PPUSH
2344: LD_INT 2
2346: PPUSH
2347: CALL_OW 12
2351: PUSH
2352: LD_INT 1
2354: PPUSH
2355: LD_INT 2
2357: PPUSH
2358: CALL_OW 12
2362: PUSH
2363: LD_INT 1
2365: PPUSH
2366: LD_INT 2
2368: PPUSH
2369: CALL_OW 12
2373: PUSH
2374: LD_INT 6
2376: PPUSH
2377: LD_INT 7
2379: PPUSH
2380: CALL_OW 12
2384: PUSH
2385: EMPTY
2386: LIST
2387: LIST
2388: LIST
2389: LIST
2390: ST_TO_ADDR
// G1 = CreateHuman ;
2391: LD_ADDR_EXP 17
2395: PUSH
2396: CALL_OW 44
2400: ST_TO_ADDR
// PlaceUnitArea ( G1 , WSPARCIE , false ) ;
2401: LD_EXP 17
2405: PPUSH
2406: LD_INT 1
2408: PPUSH
2409: LD_INT 0
2411: PPUSH
2412: CALL_OW 49
// end ; end_of_file
2416: LD_VAR 0 1
2420: RET
// export q1 , q2 , t1 , t2 ; export function Arabian_left_1 ; begin
2421: LD_INT 0
2423: PPUSH
// SoldLevel = [ 2 , 3 , 3 ] [ Difficulty ] ;
2424: LD_ADDR_EXP 57
2428: PUSH
2429: LD_INT 2
2431: PUSH
2432: LD_INT 3
2434: PUSH
2435: LD_INT 3
2437: PUSH
2438: EMPTY
2439: LIST
2440: LIST
2441: LIST
2442: PUSH
2443: LD_OWVAR 67
2447: ARRAY
2448: ST_TO_ADDR
// EngLevel = [ 2 , 3 , 3 ] [ Difficulty ] ;
2449: LD_ADDR_EXP 58
2453: PUSH
2454: LD_INT 2
2456: PUSH
2457: LD_INT 3
2459: PUSH
2460: LD_INT 3
2462: PUSH
2463: EMPTY
2464: LIST
2465: LIST
2466: LIST
2467: PUSH
2468: LD_OWVAR 67
2472: ARRAY
2473: ST_TO_ADDR
// MechLevel = [ 5 , 6 , 8 ] [ Difficulty ] ;
2474: LD_ADDR_EXP 59
2478: PUSH
2479: LD_INT 5
2481: PUSH
2482: LD_INT 6
2484: PUSH
2485: LD_INT 8
2487: PUSH
2488: EMPTY
2489: LIST
2490: LIST
2491: LIST
2492: PUSH
2493: LD_OWVAR 67
2497: ARRAY
2498: ST_TO_ADDR
// SciLevel = [ 2 , 3 , 3 ] [ Difficulty ] ;
2499: LD_ADDR_EXP 60
2503: PUSH
2504: LD_INT 2
2506: PUSH
2507: LD_INT 3
2509: PUSH
2510: LD_INT 3
2512: PUSH
2513: EMPTY
2514: LIST
2515: LIST
2516: LIST
2517: PUSH
2518: LD_OWVAR 67
2522: ARRAY
2523: ST_TO_ADDR
// vc_chassis = 14 ;
2524: LD_ADDR_OWVAR 37
2528: PUSH
2529: LD_INT 14
2531: ST_TO_ADDR
// vc_engine = engine_combustion ;
2532: LD_ADDR_OWVAR 39
2536: PUSH
2537: LD_INT 1
2539: ST_TO_ADDR
// vc_control = control_manual ;
2540: LD_ADDR_OWVAR 38
2544: PUSH
2545: LD_INT 1
2547: ST_TO_ADDR
// vc_weapon = 27 ;
2548: LD_ADDR_OWVAR 40
2552: PUSH
2553: LD_INT 27
2555: ST_TO_ADDR
// uc_side = 5 ;
2556: LD_ADDR_OWVAR 20
2560: PUSH
2561: LD_INT 5
2563: ST_TO_ADDR
// t1 = CreateVehicle ;
2564: LD_ADDR_EXP 22
2568: PUSH
2569: CALL_OW 45
2573: ST_TO_ADDR
// t2 = CreateVehicle ;
2574: LD_ADDR_EXP 23
2578: PUSH
2579: CALL_OW 45
2583: ST_TO_ADDR
// hc_class = 3 ;
2584: LD_ADDR_OWVAR 28
2588: PUSH
2589: LD_INT 3
2591: ST_TO_ADDR
// uc_nation = nation_Arabian ;
2592: LD_ADDR_OWVAR 21
2596: PUSH
2597: LD_INT 2
2599: ST_TO_ADDR
// hc_name =  ;
2600: LD_ADDR_OWVAR 26
2604: PUSH
2605: LD_STRING 
2607: ST_TO_ADDR
// uc_side = 5 ;
2608: LD_ADDR_OWVAR 20
2612: PUSH
2613: LD_INT 5
2615: ST_TO_ADDR
// hc_gallery =  ;
2616: LD_ADDR_OWVAR 33
2620: PUSH
2621: LD_STRING 
2623: ST_TO_ADDR
// hc_sex = sex_male ;
2624: LD_ADDR_OWVAR 27
2628: PUSH
2629: LD_INT 1
2631: ST_TO_ADDR
// hc_skills = [ SoldLevel , EngLevel , MechLevel , SciLevel ] ;
2632: LD_ADDR_OWVAR 31
2636: PUSH
2637: LD_EXP 57
2641: PUSH
2642: LD_EXP 58
2646: PUSH
2647: LD_EXP 59
2651: PUSH
2652: LD_EXP 60
2656: PUSH
2657: EMPTY
2658: LIST
2659: LIST
2660: LIST
2661: LIST
2662: ST_TO_ADDR
// q1 = CreateHuman ;
2663: LD_ADDR_EXP 20
2667: PUSH
2668: CALL_OW 44
2672: ST_TO_ADDR
// q2 = CreateHuman ;
2673: LD_ADDR_EXP 21
2677: PUSH
2678: CALL_OW 44
2682: ST_TO_ADDR
// PlaceHumanInUnit ( q1 , t1 ) ;
2683: LD_EXP 20
2687: PPUSH
2688: LD_EXP 22
2692: PPUSH
2693: CALL_OW 52
// PlaceHumanInUnit ( q2 , t2 ) ;
2697: LD_EXP 21
2701: PPUSH
2702: LD_EXP 23
2706: PPUSH
2707: CALL_OW 52
// PlaceUnitArea ( t1 , ATAK_LEWA , false ) ;
2711: LD_EXP 22
2715: PPUSH
2716: LD_INT 4
2718: PPUSH
2719: LD_INT 0
2721: PPUSH
2722: CALL_OW 49
// PlaceUnitArea ( t2 , ATAK_LEWA , false ) ;
2726: LD_EXP 23
2730: PPUSH
2731: LD_INT 4
2733: PPUSH
2734: LD_INT 0
2736: PPUSH
2737: CALL_OW 49
// AddComAgressiveMove ( [ t1 , t2 ] , 55 , 16 ) ;
2741: LD_EXP 22
2745: PUSH
2746: LD_EXP 23
2750: PUSH
2751: EMPTY
2752: LIST
2753: LIST
2754: PPUSH
2755: LD_INT 55
2757: PPUSH
2758: LD_INT 16
2760: PPUSH
2761: CALL_OW 174
// end ; end_of_file
2765: LD_VAR 0 1
2769: RET
// export V1 , V2 , R1 , R2 ; export function Arabian_left_2 ; begin
2770: LD_INT 0
2772: PPUSH
// ; SoldLevel = [ 2 , 3 , 3 ] [ Difficulty ] ;
2773: LD_ADDR_EXP 57
2777: PUSH
2778: LD_INT 2
2780: PUSH
2781: LD_INT 3
2783: PUSH
2784: LD_INT 3
2786: PUSH
2787: EMPTY
2788: LIST
2789: LIST
2790: LIST
2791: PUSH
2792: LD_OWVAR 67
2796: ARRAY
2797: ST_TO_ADDR
// EngLevel = [ 2 , 3 , 3 ] [ Difficulty ] ;
2798: LD_ADDR_EXP 58
2802: PUSH
2803: LD_INT 2
2805: PUSH
2806: LD_INT 3
2808: PUSH
2809: LD_INT 3
2811: PUSH
2812: EMPTY
2813: LIST
2814: LIST
2815: LIST
2816: PUSH
2817: LD_OWVAR 67
2821: ARRAY
2822: ST_TO_ADDR
// MechLevel = [ 5 , 6 , 8 ] [ Difficulty ] ;
2823: LD_ADDR_EXP 59
2827: PUSH
2828: LD_INT 5
2830: PUSH
2831: LD_INT 6
2833: PUSH
2834: LD_INT 8
2836: PUSH
2837: EMPTY
2838: LIST
2839: LIST
2840: LIST
2841: PUSH
2842: LD_OWVAR 67
2846: ARRAY
2847: ST_TO_ADDR
// SciLevel = [ 2 , 3 , 3 ] [ Difficulty ] ;
2848: LD_ADDR_EXP 60
2852: PUSH
2853: LD_INT 2
2855: PUSH
2856: LD_INT 3
2858: PUSH
2859: LD_INT 3
2861: PUSH
2862: EMPTY
2863: LIST
2864: LIST
2865: LIST
2866: PUSH
2867: LD_OWVAR 67
2871: ARRAY
2872: ST_TO_ADDR
// vc_chassis = 14 ;
2873: LD_ADDR_OWVAR 37
2877: PUSH
2878: LD_INT 14
2880: ST_TO_ADDR
// vc_engine = engine_combustion ;
2881: LD_ADDR_OWVAR 39
2885: PUSH
2886: LD_INT 1
2888: ST_TO_ADDR
// vc_control = control_manual ;
2889: LD_ADDR_OWVAR 38
2893: PUSH
2894: LD_INT 1
2896: ST_TO_ADDR
// vc_weapon = 28 ;
2897: LD_ADDR_OWVAR 40
2901: PUSH
2902: LD_INT 28
2904: ST_TO_ADDR
// uc_side = 5 ;
2905: LD_ADDR_OWVAR 20
2909: PUSH
2910: LD_INT 5
2912: ST_TO_ADDR
// R1 = CreateVehicle ;
2913: LD_ADDR_EXP 26
2917: PUSH
2918: CALL_OW 45
2922: ST_TO_ADDR
// R2 = CreateVehicle ;
2923: LD_ADDR_EXP 27
2927: PUSH
2928: CALL_OW 45
2932: ST_TO_ADDR
// hc_class = 3 ;
2933: LD_ADDR_OWVAR 28
2937: PUSH
2938: LD_INT 3
2940: ST_TO_ADDR
// uc_nation = nation_Arabian ;
2941: LD_ADDR_OWVAR 21
2945: PUSH
2946: LD_INT 2
2948: ST_TO_ADDR
// hc_name =  ;
2949: LD_ADDR_OWVAR 26
2953: PUSH
2954: LD_STRING 
2956: ST_TO_ADDR
// uc_side = 5 ;
2957: LD_ADDR_OWVAR 20
2961: PUSH
2962: LD_INT 5
2964: ST_TO_ADDR
// hc_gallery =  ;
2965: LD_ADDR_OWVAR 33
2969: PUSH
2970: LD_STRING 
2972: ST_TO_ADDR
// hc_sex = sex_male ;
2973: LD_ADDR_OWVAR 27
2977: PUSH
2978: LD_INT 1
2980: ST_TO_ADDR
// hc_skills = [ SoldLevel , EngLevel , MechLevel , SciLevel ] ;
2981: LD_ADDR_OWVAR 31
2985: PUSH
2986: LD_EXP 57
2990: PUSH
2991: LD_EXP 58
2995: PUSH
2996: LD_EXP 59
3000: PUSH
3001: LD_EXP 60
3005: PUSH
3006: EMPTY
3007: LIST
3008: LIST
3009: LIST
3010: LIST
3011: ST_TO_ADDR
// V1 = CreateHuman ;
3012: LD_ADDR_EXP 24
3016: PUSH
3017: CALL_OW 44
3021: ST_TO_ADDR
// V2 = CreateHuman ;
3022: LD_ADDR_EXP 25
3026: PUSH
3027: CALL_OW 44
3031: ST_TO_ADDR
// PlaceHumanInUnit ( V1 , R1 ) ;
3032: LD_EXP 24
3036: PPUSH
3037: LD_EXP 26
3041: PPUSH
3042: CALL_OW 52
// PlaceHumanInUnit ( V2 , R2 ) ;
3046: LD_EXP 25
3050: PPUSH
3051: LD_EXP 27
3055: PPUSH
3056: CALL_OW 52
// PlaceUnitArea ( R1 , ATAK_LEWA , false ) ;
3060: LD_EXP 26
3064: PPUSH
3065: LD_INT 4
3067: PPUSH
3068: LD_INT 0
3070: PPUSH
3071: CALL_OW 49
// PlaceUnitArea ( R2 , ATAK_LEWA , false ) ;
3075: LD_EXP 27
3079: PPUSH
3080: LD_INT 4
3082: PPUSH
3083: LD_INT 0
3085: PPUSH
3086: CALL_OW 49
// AddComAgressiveMove ( [ R1 , R2 ] , 55 , 16 ) ;
3090: LD_EXP 26
3094: PUSH
3095: LD_EXP 27
3099: PUSH
3100: EMPTY
3101: LIST
3102: LIST
3103: PPUSH
3104: LD_INT 55
3106: PPUSH
3107: LD_INT 16
3109: PPUSH
3110: CALL_OW 174
// end ; end_of_file
3114: LD_VAR 0 1
3118: RET
// export X1 , X2 , C1 , C2 ; export function Arabian_left_3 ; begin
3119: LD_INT 0
3121: PPUSH
// ; SoldLevel = [ 2 , 3 , 3 ] [ Difficulty ] ;
3122: LD_ADDR_EXP 57
3126: PUSH
3127: LD_INT 2
3129: PUSH
3130: LD_INT 3
3132: PUSH
3133: LD_INT 3
3135: PUSH
3136: EMPTY
3137: LIST
3138: LIST
3139: LIST
3140: PUSH
3141: LD_OWVAR 67
3145: ARRAY
3146: ST_TO_ADDR
// EngLevel = [ 2 , 3 , 3 ] [ Difficulty ] ;
3147: LD_ADDR_EXP 58
3151: PUSH
3152: LD_INT 2
3154: PUSH
3155: LD_INT 3
3157: PUSH
3158: LD_INT 3
3160: PUSH
3161: EMPTY
3162: LIST
3163: LIST
3164: LIST
3165: PUSH
3166: LD_OWVAR 67
3170: ARRAY
3171: ST_TO_ADDR
// MechLevel = [ 5 , 6 , 8 ] [ Difficulty ] ;
3172: LD_ADDR_EXP 59
3176: PUSH
3177: LD_INT 5
3179: PUSH
3180: LD_INT 6
3182: PUSH
3183: LD_INT 8
3185: PUSH
3186: EMPTY
3187: LIST
3188: LIST
3189: LIST
3190: PUSH
3191: LD_OWVAR 67
3195: ARRAY
3196: ST_TO_ADDR
// SciLevel = [ 2 , 3 , 3 ] [ Difficulty ] ;
3197: LD_ADDR_EXP 60
3201: PUSH
3202: LD_INT 2
3204: PUSH
3205: LD_INT 3
3207: PUSH
3208: LD_INT 3
3210: PUSH
3211: EMPTY
3212: LIST
3213: LIST
3214: LIST
3215: PUSH
3216: LD_OWVAR 67
3220: ARRAY
3221: ST_TO_ADDR
// vc_chassis = 14 ;
3222: LD_ADDR_OWVAR 37
3226: PUSH
3227: LD_INT 14
3229: ST_TO_ADDR
// vc_engine = engine_combustion ;
3230: LD_ADDR_OWVAR 39
3234: PUSH
3235: LD_INT 1
3237: ST_TO_ADDR
// vc_control = control_manual ;
3238: LD_ADDR_OWVAR 38
3242: PUSH
3243: LD_INT 1
3245: ST_TO_ADDR
// vc_weapon = 24 ;
3246: LD_ADDR_OWVAR 40
3250: PUSH
3251: LD_INT 24
3253: ST_TO_ADDR
// uc_side = 5 ;
3254: LD_ADDR_OWVAR 20
3258: PUSH
3259: LD_INT 5
3261: ST_TO_ADDR
// C1 = CreateVehicle ;
3262: LD_ADDR_EXP 30
3266: PUSH
3267: CALL_OW 45
3271: ST_TO_ADDR
// C2 = CreateVehicle ;
3272: LD_ADDR_EXP 31
3276: PUSH
3277: CALL_OW 45
3281: ST_TO_ADDR
// hc_class = 3 ;
3282: LD_ADDR_OWVAR 28
3286: PUSH
3287: LD_INT 3
3289: ST_TO_ADDR
// uc_nation = nation_Arabian ;
3290: LD_ADDR_OWVAR 21
3294: PUSH
3295: LD_INT 2
3297: ST_TO_ADDR
// hc_name =  ;
3298: LD_ADDR_OWVAR 26
3302: PUSH
3303: LD_STRING 
3305: ST_TO_ADDR
// uc_side = 5 ;
3306: LD_ADDR_OWVAR 20
3310: PUSH
3311: LD_INT 5
3313: ST_TO_ADDR
// hc_gallery =  ;
3314: LD_ADDR_OWVAR 33
3318: PUSH
3319: LD_STRING 
3321: ST_TO_ADDR
// hc_sex = sex_male ;
3322: LD_ADDR_OWVAR 27
3326: PUSH
3327: LD_INT 1
3329: ST_TO_ADDR
// hc_skills = [ SoldLevel , EngLevel , MechLevel , SciLevel ] ;
3330: LD_ADDR_OWVAR 31
3334: PUSH
3335: LD_EXP 57
3339: PUSH
3340: LD_EXP 58
3344: PUSH
3345: LD_EXP 59
3349: PUSH
3350: LD_EXP 60
3354: PUSH
3355: EMPTY
3356: LIST
3357: LIST
3358: LIST
3359: LIST
3360: ST_TO_ADDR
// X1 = CreateHuman ;
3361: LD_ADDR_EXP 28
3365: PUSH
3366: CALL_OW 44
3370: ST_TO_ADDR
// X2 = CreateHuman ;
3371: LD_ADDR_EXP 29
3375: PUSH
3376: CALL_OW 44
3380: ST_TO_ADDR
// PlaceHumanInUnit ( X1 , C1 ) ;
3381: LD_EXP 28
3385: PPUSH
3386: LD_EXP 30
3390: PPUSH
3391: CALL_OW 52
// PlaceHumanInUnit ( X2 , C2 ) ;
3395: LD_EXP 29
3399: PPUSH
3400: LD_EXP 31
3404: PPUSH
3405: CALL_OW 52
// PlaceUnitArea ( C1 , ATAK_LEWA , false ) ;
3409: LD_EXP 30
3413: PPUSH
3414: LD_INT 4
3416: PPUSH
3417: LD_INT 0
3419: PPUSH
3420: CALL_OW 49
// PlaceUnitArea ( C2 , ATAK_LEWA , false ) ;
3424: LD_EXP 31
3428: PPUSH
3429: LD_INT 4
3431: PPUSH
3432: LD_INT 0
3434: PPUSH
3435: CALL_OW 49
// AddComAgressiveMove ( [ C1 , C2 ] , 55 , 16 ) ;
3439: LD_EXP 30
3443: PUSH
3444: LD_EXP 31
3448: PUSH
3449: EMPTY
3450: LIST
3451: LIST
3452: PPUSH
3453: LD_INT 55
3455: PPUSH
3456: LD_INT 16
3458: PPUSH
3459: CALL_OW 174
// end ; end_of_file
3463: LD_VAR 0 1
3467: RET
// export H1 , H2 , H3 , H4 , H5 , H6 , H7 , H8 , H9 , H0 ; export function atak_suprise ; begin
3468: LD_INT 0
3470: PPUSH
// ; SoldLevel = [ 6 , 7 , 7 ] [ Difficulty ] ;
3471: LD_ADDR_EXP 57
3475: PUSH
3476: LD_INT 6
3478: PUSH
3479: LD_INT 7
3481: PUSH
3482: LD_INT 7
3484: PUSH
3485: EMPTY
3486: LIST
3487: LIST
3488: LIST
3489: PUSH
3490: LD_OWVAR 67
3494: ARRAY
3495: ST_TO_ADDR
// EngLevel = [ 2 , 4 , 6 ] [ Difficulty ] ;
3496: LD_ADDR_EXP 58
3500: PUSH
3501: LD_INT 2
3503: PUSH
3504: LD_INT 4
3506: PUSH
3507: LD_INT 6
3509: PUSH
3510: EMPTY
3511: LIST
3512: LIST
3513: LIST
3514: PUSH
3515: LD_OWVAR 67
3519: ARRAY
3520: ST_TO_ADDR
// MechLevel = [ 3 , 4 , 5 ] [ Difficulty ] ;
3521: LD_ADDR_EXP 59
3525: PUSH
3526: LD_INT 3
3528: PUSH
3529: LD_INT 4
3531: PUSH
3532: LD_INT 5
3534: PUSH
3535: EMPTY
3536: LIST
3537: LIST
3538: LIST
3539: PUSH
3540: LD_OWVAR 67
3544: ARRAY
3545: ST_TO_ADDR
// SciLevel = [ 3 , 5 , 6 ] [ Difficulty ] ;
3546: LD_ADDR_EXP 60
3550: PUSH
3551: LD_INT 3
3553: PUSH
3554: LD_INT 5
3556: PUSH
3557: LD_INT 6
3559: PUSH
3560: EMPTY
3561: LIST
3562: LIST
3563: LIST
3564: PUSH
3565: LD_OWVAR 67
3569: ARRAY
3570: ST_TO_ADDR
// hc_name =  ;
3571: LD_ADDR_OWVAR 26
3575: PUSH
3576: LD_STRING 
3578: ST_TO_ADDR
// uc_nation = nation_Arabian ;
3579: LD_ADDR_OWVAR 21
3583: PUSH
3584: LD_INT 2
3586: ST_TO_ADDR
// hc_class = 1 ;
3587: LD_ADDR_OWVAR 28
3591: PUSH
3592: LD_INT 1
3594: ST_TO_ADDR
// uc_side = 5 ;
3595: LD_ADDR_OWVAR 20
3599: PUSH
3600: LD_INT 5
3602: ST_TO_ADDR
// hc_gallery =  ;
3603: LD_ADDR_OWVAR 33
3607: PUSH
3608: LD_STRING 
3610: ST_TO_ADDR
// hc_attr = [ 10 , 10 ] ;
3611: LD_ADDR_OWVAR 29
3615: PUSH
3616: LD_INT 10
3618: PUSH
3619: LD_INT 10
3621: PUSH
3622: EMPTY
3623: LIST
3624: LIST
3625: ST_TO_ADDR
// hc_skills = [ SoldLevel , EngLevel , MechLevel , SciLevel ] ;
3626: LD_ADDR_OWVAR 31
3630: PUSH
3631: LD_EXP 57
3635: PUSH
3636: LD_EXP 58
3640: PUSH
3641: LD_EXP 59
3645: PUSH
3646: LD_EXP 60
3650: PUSH
3651: EMPTY
3652: LIST
3653: LIST
3654: LIST
3655: LIST
3656: ST_TO_ADDR
// hc_importance = 10 ;
3657: LD_ADDR_OWVAR 32
3661: PUSH
3662: LD_INT 10
3664: ST_TO_ADDR
// H1 = CreateHuman ;
3665: LD_ADDR_EXP 32
3669: PUSH
3670: CALL_OW 44
3674: ST_TO_ADDR
// H2 = CreateHuman ;
3675: LD_ADDR_EXP 33
3679: PUSH
3680: CALL_OW 44
3684: ST_TO_ADDR
// H3 = CreateHuman ;
3685: LD_ADDR_EXP 34
3689: PUSH
3690: CALL_OW 44
3694: ST_TO_ADDR
// H4 = CreateHuman ;
3695: LD_ADDR_EXP 35
3699: PUSH
3700: CALL_OW 44
3704: ST_TO_ADDR
// H5 = CreateHuman ;
3705: LD_ADDR_EXP 36
3709: PUSH
3710: CALL_OW 44
3714: ST_TO_ADDR
// H6 = CreateHuman ;
3715: LD_ADDR_EXP 37
3719: PUSH
3720: CALL_OW 44
3724: ST_TO_ADDR
// H7 = CreateHuman ;
3725: LD_ADDR_EXP 38
3729: PUSH
3730: CALL_OW 44
3734: ST_TO_ADDR
// H8 = CreateHuman ;
3735: LD_ADDR_EXP 39
3739: PUSH
3740: CALL_OW 44
3744: ST_TO_ADDR
// H9 = CreateHuman ;
3745: LD_ADDR_EXP 40
3749: PUSH
3750: CALL_OW 44
3754: ST_TO_ADDR
// H0 = CreateHuman ;
3755: LD_ADDR_EXP 41
3759: PUSH
3760: CALL_OW 44
3764: ST_TO_ADDR
// PlaceUnitArea ( H1 , SURPRISE , false ) ;
3765: LD_EXP 32
3769: PPUSH
3770: LD_INT 6
3772: PPUSH
3773: LD_INT 0
3775: PPUSH
3776: CALL_OW 49
// wait ( 0 0$01 ) ;
3780: LD_INT 35
3782: PPUSH
3783: CALL_OW 67
// PlaceUnitArea ( H2 , SURPRISE , false ) ;
3787: LD_EXP 33
3791: PPUSH
3792: LD_INT 6
3794: PPUSH
3795: LD_INT 0
3797: PPUSH
3798: CALL_OW 49
// wait ( 0 0$01 ) ;
3802: LD_INT 35
3804: PPUSH
3805: CALL_OW 67
// PlaceUnitArea ( H3 , SURPRISE , false ) ;
3809: LD_EXP 34
3813: PPUSH
3814: LD_INT 6
3816: PPUSH
3817: LD_INT 0
3819: PPUSH
3820: CALL_OW 49
// wait ( 0 0$01 ) ;
3824: LD_INT 35
3826: PPUSH
3827: CALL_OW 67
// PlaceUnitArea ( H4 , SURPRISE , false ) ;
3831: LD_EXP 35
3835: PPUSH
3836: LD_INT 6
3838: PPUSH
3839: LD_INT 0
3841: PPUSH
3842: CALL_OW 49
// wait ( 0 0$01 ) ;
3846: LD_INT 35
3848: PPUSH
3849: CALL_OW 67
// PlaceUnitArea ( H5 , SURPRISE , false ) ;
3853: LD_EXP 36
3857: PPUSH
3858: LD_INT 6
3860: PPUSH
3861: LD_INT 0
3863: PPUSH
3864: CALL_OW 49
// wait ( 0 0$01 ) ;
3868: LD_INT 35
3870: PPUSH
3871: CALL_OW 67
// PlaceUnitArea ( H7 , SURPRISE , false ) ;
3875: LD_EXP 38
3879: PPUSH
3880: LD_INT 6
3882: PPUSH
3883: LD_INT 0
3885: PPUSH
3886: CALL_OW 49
// wait ( 0 0$01 ) ;
3890: LD_INT 35
3892: PPUSH
3893: CALL_OW 67
// PlaceUnitArea ( H6 , SURPRISE , false ) ;
3897: LD_EXP 37
3901: PPUSH
3902: LD_INT 6
3904: PPUSH
3905: LD_INT 0
3907: PPUSH
3908: CALL_OW 49
// wait ( 0 0$01 ) ;
3912: LD_INT 35
3914: PPUSH
3915: CALL_OW 67
// PlaceUnitArea ( H8 , SURPRISE , false ) ;
3919: LD_EXP 39
3923: PPUSH
3924: LD_INT 6
3926: PPUSH
3927: LD_INT 0
3929: PPUSH
3930: CALL_OW 49
// wait ( 0 0$01 ) ;
3934: LD_INT 35
3936: PPUSH
3937: CALL_OW 67
// PlaceUnitArea ( H9 , SURPRISE , false ) ;
3941: LD_EXP 40
3945: PPUSH
3946: LD_INT 6
3948: PPUSH
3949: LD_INT 0
3951: PPUSH
3952: CALL_OW 49
// wait ( 0 0$01 ) ;
3956: LD_INT 35
3958: PPUSH
3959: CALL_OW 67
// PlaceUnitArea ( H0 , SURPRISE , false ) ;
3963: LD_EXP 41
3967: PPUSH
3968: LD_INT 6
3970: PPUSH
3971: LD_INT 0
3973: PPUSH
3974: CALL_OW 49
// wait ( 0 0$01 ) ;
3978: LD_INT 35
3980: PPUSH
3981: CALL_OW 67
// AddComAgressiveMove ( [ H1 , H2 , H3 , H4 , H5 , H6 , H7 , H8 , H9 ] , 55 , 18 ) ;
3985: LD_EXP 32
3989: PUSH
3990: LD_EXP 33
3994: PUSH
3995: LD_EXP 34
3999: PUSH
4000: LD_EXP 35
4004: PUSH
4005: LD_EXP 36
4009: PUSH
4010: LD_EXP 37
4014: PUSH
4015: LD_EXP 38
4019: PUSH
4020: LD_EXP 39
4024: PUSH
4025: LD_EXP 40
4029: PUSH
4030: EMPTY
4031: LIST
4032: LIST
4033: LIST
4034: LIST
4035: LIST
4036: LIST
4037: LIST
4038: LIST
4039: LIST
4040: PPUSH
4041: LD_INT 55
4043: PPUSH
4044: LD_INT 18
4046: PPUSH
4047: CALL_OW 174
// end ; end_of_file
4051: LD_VAR 0 1
4055: RET
// export M1 , M2 , N1 , N2 ; export function Arabian_right_1 ; begin
4056: LD_INT 0
4058: PPUSH
// ; SoldLevel = [ 2 , 3 , 3 ] [ Difficulty ] ;
4059: LD_ADDR_EXP 57
4063: PUSH
4064: LD_INT 2
4066: PUSH
4067: LD_INT 3
4069: PUSH
4070: LD_INT 3
4072: PUSH
4073: EMPTY
4074: LIST
4075: LIST
4076: LIST
4077: PUSH
4078: LD_OWVAR 67
4082: ARRAY
4083: ST_TO_ADDR
// EngLevel = [ 2 , 3 , 3 ] [ Difficulty ] ;
4084: LD_ADDR_EXP 58
4088: PUSH
4089: LD_INT 2
4091: PUSH
4092: LD_INT 3
4094: PUSH
4095: LD_INT 3
4097: PUSH
4098: EMPTY
4099: LIST
4100: LIST
4101: LIST
4102: PUSH
4103: LD_OWVAR 67
4107: ARRAY
4108: ST_TO_ADDR
// MechLevel = [ 5 , 6 , 8 ] [ Difficulty ] ;
4109: LD_ADDR_EXP 59
4113: PUSH
4114: LD_INT 5
4116: PUSH
4117: LD_INT 6
4119: PUSH
4120: LD_INT 8
4122: PUSH
4123: EMPTY
4124: LIST
4125: LIST
4126: LIST
4127: PUSH
4128: LD_OWVAR 67
4132: ARRAY
4133: ST_TO_ADDR
// SciLevel = [ 2 , 3 , 3 ] [ Difficulty ] ;
4134: LD_ADDR_EXP 60
4138: PUSH
4139: LD_INT 2
4141: PUSH
4142: LD_INT 3
4144: PUSH
4145: LD_INT 3
4147: PUSH
4148: EMPTY
4149: LIST
4150: LIST
4151: LIST
4152: PUSH
4153: LD_OWVAR 67
4157: ARRAY
4158: ST_TO_ADDR
// vc_chassis = 14 ;
4159: LD_ADDR_OWVAR 37
4163: PUSH
4164: LD_INT 14
4166: ST_TO_ADDR
// vc_engine = engine_combustion ;
4167: LD_ADDR_OWVAR 39
4171: PUSH
4172: LD_INT 1
4174: ST_TO_ADDR
// vc_control = control_manual ;
4175: LD_ADDR_OWVAR 38
4179: PUSH
4180: LD_INT 1
4182: ST_TO_ADDR
// vc_weapon = 27 ;
4183: LD_ADDR_OWVAR 40
4187: PUSH
4188: LD_INT 27
4190: ST_TO_ADDR
// uc_side = 5 ;
4191: LD_ADDR_OWVAR 20
4195: PUSH
4196: LD_INT 5
4198: ST_TO_ADDR
// M1 = CreateVehicle ;
4199: LD_ADDR_EXP 42
4203: PUSH
4204: CALL_OW 45
4208: ST_TO_ADDR
// M2 = CreateVehicle ;
4209: LD_ADDR_EXP 43
4213: PUSH
4214: CALL_OW 45
4218: ST_TO_ADDR
// hc_class = 3 ;
4219: LD_ADDR_OWVAR 28
4223: PUSH
4224: LD_INT 3
4226: ST_TO_ADDR
// hc_name =  ;
4227: LD_ADDR_OWVAR 26
4231: PUSH
4232: LD_STRING 
4234: ST_TO_ADDR
// uc_nation = nation_Arabian ;
4235: LD_ADDR_OWVAR 21
4239: PUSH
4240: LD_INT 2
4242: ST_TO_ADDR
// uc_side = 5 ;
4243: LD_ADDR_OWVAR 20
4247: PUSH
4248: LD_INT 5
4250: ST_TO_ADDR
// hc_gallery =  ;
4251: LD_ADDR_OWVAR 33
4255: PUSH
4256: LD_STRING 
4258: ST_TO_ADDR
// hc_sex = sex_male ;
4259: LD_ADDR_OWVAR 27
4263: PUSH
4264: LD_INT 1
4266: ST_TO_ADDR
// hc_skills = [ SoldLevel , EngLevel , MechLevel , SciLevel ] ;
4267: LD_ADDR_OWVAR 31
4271: PUSH
4272: LD_EXP 57
4276: PUSH
4277: LD_EXP 58
4281: PUSH
4282: LD_EXP 59
4286: PUSH
4287: LD_EXP 60
4291: PUSH
4292: EMPTY
4293: LIST
4294: LIST
4295: LIST
4296: LIST
4297: ST_TO_ADDR
// N1 = CreateHuman ;
4298: LD_ADDR_EXP 44
4302: PUSH
4303: CALL_OW 44
4307: ST_TO_ADDR
// N2 = CreateHuman ;
4308: LD_ADDR_EXP 45
4312: PUSH
4313: CALL_OW 44
4317: ST_TO_ADDR
// PlaceHumanInUnit ( N1 , M1 ) ;
4318: LD_EXP 44
4322: PPUSH
4323: LD_EXP 42
4327: PPUSH
4328: CALL_OW 52
// PlaceHumanInUnit ( N2 , M2 ) ;
4332: LD_EXP 45
4336: PPUSH
4337: LD_EXP 43
4341: PPUSH
4342: CALL_OW 52
// PlaceUnitArea ( M1 , ATAK_prawa , false ) ;
4346: LD_EXP 42
4350: PPUSH
4351: LD_INT 5
4353: PPUSH
4354: LD_INT 0
4356: PPUSH
4357: CALL_OW 49
// PlaceUnitArea ( M2 , ATAK_prawa , false ) ;
4361: LD_EXP 43
4365: PPUSH
4366: LD_INT 5
4368: PPUSH
4369: LD_INT 0
4371: PPUSH
4372: CALL_OW 49
// AddComAgressiveMove ( [ M1 , M2 ] , 55 , 16 ) ;
4376: LD_EXP 42
4380: PUSH
4381: LD_EXP 43
4385: PUSH
4386: EMPTY
4387: LIST
4388: LIST
4389: PPUSH
4390: LD_INT 55
4392: PPUSH
4393: LD_INT 16
4395: PPUSH
4396: CALL_OW 174
// end ; end_of_file
4400: LD_VAR 0 1
4404: RET
// export D1 , D2 , B1 , B2 ; export function Arabian_right_2 ; begin
4405: LD_INT 0
4407: PPUSH
// ; SoldLevel = [ 2 , 3 , 3 ] [ Difficulty ] ;
4408: LD_ADDR_EXP 57
4412: PUSH
4413: LD_INT 2
4415: PUSH
4416: LD_INT 3
4418: PUSH
4419: LD_INT 3
4421: PUSH
4422: EMPTY
4423: LIST
4424: LIST
4425: LIST
4426: PUSH
4427: LD_OWVAR 67
4431: ARRAY
4432: ST_TO_ADDR
// EngLevel = [ 2 , 3 , 3 ] [ Difficulty ] ;
4433: LD_ADDR_EXP 58
4437: PUSH
4438: LD_INT 2
4440: PUSH
4441: LD_INT 3
4443: PUSH
4444: LD_INT 3
4446: PUSH
4447: EMPTY
4448: LIST
4449: LIST
4450: LIST
4451: PUSH
4452: LD_OWVAR 67
4456: ARRAY
4457: ST_TO_ADDR
// MechLevel = [ 5 , 6 , 8 ] [ Difficulty ] ;
4458: LD_ADDR_EXP 59
4462: PUSH
4463: LD_INT 5
4465: PUSH
4466: LD_INT 6
4468: PUSH
4469: LD_INT 8
4471: PUSH
4472: EMPTY
4473: LIST
4474: LIST
4475: LIST
4476: PUSH
4477: LD_OWVAR 67
4481: ARRAY
4482: ST_TO_ADDR
// SciLevel = [ 2 , 3 , 3 ] [ Difficulty ] ;
4483: LD_ADDR_EXP 60
4487: PUSH
4488: LD_INT 2
4490: PUSH
4491: LD_INT 3
4493: PUSH
4494: LD_INT 3
4496: PUSH
4497: EMPTY
4498: LIST
4499: LIST
4500: LIST
4501: PUSH
4502: LD_OWVAR 67
4506: ARRAY
4507: ST_TO_ADDR
// vc_chassis = 14 ;
4508: LD_ADDR_OWVAR 37
4512: PUSH
4513: LD_INT 14
4515: ST_TO_ADDR
// vc_engine = engine_combustion ;
4516: LD_ADDR_OWVAR 39
4520: PUSH
4521: LD_INT 1
4523: ST_TO_ADDR
// vc_control = control_manual ;
4524: LD_ADDR_OWVAR 38
4528: PUSH
4529: LD_INT 1
4531: ST_TO_ADDR
// vc_weapon = 28 ;
4532: LD_ADDR_OWVAR 40
4536: PUSH
4537: LD_INT 28
4539: ST_TO_ADDR
// uc_side = 5 ;
4540: LD_ADDR_OWVAR 20
4544: PUSH
4545: LD_INT 5
4547: ST_TO_ADDR
// B1 = CreateVehicle ;
4548: LD_ADDR_EXP 48
4552: PUSH
4553: CALL_OW 45
4557: ST_TO_ADDR
// B2 = CreateVehicle ;
4558: LD_ADDR_EXP 49
4562: PUSH
4563: CALL_OW 45
4567: ST_TO_ADDR
// hc_class = 3 ;
4568: LD_ADDR_OWVAR 28
4572: PUSH
4573: LD_INT 3
4575: ST_TO_ADDR
// hc_name =  ;
4576: LD_ADDR_OWVAR 26
4580: PUSH
4581: LD_STRING 
4583: ST_TO_ADDR
// uc_nation = nation_Arabian ;
4584: LD_ADDR_OWVAR 21
4588: PUSH
4589: LD_INT 2
4591: ST_TO_ADDR
// uc_side = 5 ;
4592: LD_ADDR_OWVAR 20
4596: PUSH
4597: LD_INT 5
4599: ST_TO_ADDR
// hc_gallery =  ;
4600: LD_ADDR_OWVAR 33
4604: PUSH
4605: LD_STRING 
4607: ST_TO_ADDR
// hc_sex = sex_male ;
4608: LD_ADDR_OWVAR 27
4612: PUSH
4613: LD_INT 1
4615: ST_TO_ADDR
// hc_skills = [ SoldLevel , EngLevel , MechLevel , SciLevel ] ;
4616: LD_ADDR_OWVAR 31
4620: PUSH
4621: LD_EXP 57
4625: PUSH
4626: LD_EXP 58
4630: PUSH
4631: LD_EXP 59
4635: PUSH
4636: LD_EXP 60
4640: PUSH
4641: EMPTY
4642: LIST
4643: LIST
4644: LIST
4645: LIST
4646: ST_TO_ADDR
// D1 = CreateHuman ;
4647: LD_ADDR_EXP 46
4651: PUSH
4652: CALL_OW 44
4656: ST_TO_ADDR
// D2 = CreateHuman ;
4657: LD_ADDR_EXP 47
4661: PUSH
4662: CALL_OW 44
4666: ST_TO_ADDR
// PlaceHumanInUnit ( D1 , B1 ) ;
4667: LD_EXP 46
4671: PPUSH
4672: LD_EXP 48
4676: PPUSH
4677: CALL_OW 52
// PlaceHumanInUnit ( D2 , B2 ) ;
4681: LD_EXP 47
4685: PPUSH
4686: LD_EXP 49
4690: PPUSH
4691: CALL_OW 52
// PlaceUnitArea ( B1 , ATAK_prawa , false ) ;
4695: LD_EXP 48
4699: PPUSH
4700: LD_INT 5
4702: PPUSH
4703: LD_INT 0
4705: PPUSH
4706: CALL_OW 49
// PlaceUnitArea ( B2 , ATAK_prawa , false ) ;
4710: LD_EXP 49
4714: PPUSH
4715: LD_INT 5
4717: PPUSH
4718: LD_INT 0
4720: PPUSH
4721: CALL_OW 49
// AddComAgressiveMove ( [ B1 , B2 ] , 55 , 16 ) ;
4725: LD_EXP 48
4729: PUSH
4730: LD_EXP 49
4734: PUSH
4735: EMPTY
4736: LIST
4737: LIST
4738: PPUSH
4739: LD_INT 55
4741: PPUSH
4742: LD_INT 16
4744: PPUSH
4745: CALL_OW 174
// end ; end_of_file
4749: LD_VAR 0 1
4753: RET
// export L1 , L2 , P1 , P2 , O1 , O2 ; export function wsparcie2 ; begin
4754: LD_INT 0
4756: PPUSH
// ; vc_chassis = 3 ;
4757: LD_ADDR_OWVAR 37
4761: PUSH
4762: LD_INT 3
4764: ST_TO_ADDR
// vc_engine = engine_combustion ;
4765: LD_ADDR_OWVAR 39
4769: PUSH
4770: LD_INT 1
4772: ST_TO_ADDR
// vc_control = control_manual ;
4773: LD_ADDR_OWVAR 38
4777: PUSH
4778: LD_INT 1
4780: ST_TO_ADDR
// vc_weapon = 12 ;
4781: LD_ADDR_OWVAR 40
4785: PUSH
4786: LD_INT 12
4788: ST_TO_ADDR
// uc_side = 4 ;
4789: LD_ADDR_OWVAR 20
4793: PUSH
4794: LD_INT 4
4796: ST_TO_ADDR
// P1 = CreateVehicle ;
4797: LD_ADDR_EXP 52
4801: PUSH
4802: CALL_OW 45
4806: ST_TO_ADDR
// P2 = CreateVehicle ;
4807: LD_ADDR_EXP 53
4811: PUSH
4812: CALL_OW 45
4816: ST_TO_ADDR
// hc_class = 3 ;
4817: LD_ADDR_OWVAR 28
4821: PUSH
4822: LD_INT 3
4824: ST_TO_ADDR
// hc_name =  ;
4825: LD_ADDR_OWVAR 26
4829: PUSH
4830: LD_STRING 
4832: ST_TO_ADDR
// uc_side = 4 ;
4833: LD_ADDR_OWVAR 20
4837: PUSH
4838: LD_INT 4
4840: ST_TO_ADDR
// uc_nation = 1 ;
4841: LD_ADDR_OWVAR 21
4845: PUSH
4846: LD_INT 1
4848: ST_TO_ADDR
// hc_gallery =  ;
4849: LD_ADDR_OWVAR 33
4853: PUSH
4854: LD_STRING 
4856: ST_TO_ADDR
// hc_sex = sex_male ;
4857: LD_ADDR_OWVAR 27
4861: PUSH
4862: LD_INT 1
4864: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 1 ) , Rand ( 2 , 3 ) , Rand ( 5 , 6 ) , Rand ( 0 , 1 ) ] ;
4865: LD_ADDR_OWVAR 31
4869: PUSH
4870: LD_INT 0
4872: PPUSH
4873: LD_INT 1
4875: PPUSH
4876: CALL_OW 12
4880: PUSH
4881: LD_INT 2
4883: PPUSH
4884: LD_INT 3
4886: PPUSH
4887: CALL_OW 12
4891: PUSH
4892: LD_INT 5
4894: PPUSH
4895: LD_INT 6
4897: PPUSH
4898: CALL_OW 12
4902: PUSH
4903: LD_INT 0
4905: PPUSH
4906: LD_INT 1
4908: PPUSH
4909: CALL_OW 12
4913: PUSH
4914: EMPTY
4915: LIST
4916: LIST
4917: LIST
4918: LIST
4919: ST_TO_ADDR
// O2 = CreateHuman ;
4920: LD_ADDR_EXP 55
4924: PUSH
4925: CALL_OW 44
4929: ST_TO_ADDR
// O1 = CreateHuman ;
4930: LD_ADDR_EXP 54
4934: PUSH
4935: CALL_OW 44
4939: ST_TO_ADDR
// PlaceHumanInUnit ( O1 , P1 ) ;
4940: LD_EXP 54
4944: PPUSH
4945: LD_EXP 52
4949: PPUSH
4950: CALL_OW 52
// PlaceHumanInUnit ( O2 , P2 ) ;
4954: LD_EXP 55
4958: PPUSH
4959: LD_EXP 53
4963: PPUSH
4964: CALL_OW 52
// ; Setcargo ( P1 , mat_cans , 100 ) ;
4968: LD_EXP 52
4972: PPUSH
4973: LD_INT 1
4975: PPUSH
4976: LD_INT 100
4978: PPUSH
4979: CALL_OW 290
// setcargo ( P2 , mat_cans , 100 ) ;
4983: LD_EXP 53
4987: PPUSH
4988: LD_INT 1
4990: PPUSH
4991: LD_INT 100
4993: PPUSH
4994: CALL_OW 290
// PlaceUnitArea ( P1 , WSPARCIE , false ) ;
4998: LD_EXP 52
5002: PPUSH
5003: LD_INT 1
5005: PPUSH
5006: LD_INT 0
5008: PPUSH
5009: CALL_OW 49
// PlaceUnitArea ( P2 , WSPARCIE , false ) ;
5013: LD_EXP 53
5017: PPUSH
5018: LD_INT 1
5020: PPUSH
5021: LD_INT 0
5023: PPUSH
5024: CALL_OW 49
// hc_class = 1 ;
5028: LD_ADDR_OWVAR 28
5032: PUSH
5033: LD_INT 1
5035: ST_TO_ADDR
// hc_name =  ;
5036: LD_ADDR_OWVAR 26
5040: PUSH
5041: LD_STRING 
5043: ST_TO_ADDR
// uc_side = 4 ;
5044: LD_ADDR_OWVAR 20
5048: PUSH
5049: LD_INT 4
5051: ST_TO_ADDR
// uc_nation = 1 ;
5052: LD_ADDR_OWVAR 21
5056: PUSH
5057: LD_INT 1
5059: ST_TO_ADDR
// hc_gallery =  ;
5060: LD_ADDR_OWVAR 33
5064: PUSH
5065: LD_STRING 
5067: ST_TO_ADDR
// hc_sex = sex_male ;
5068: LD_ADDR_OWVAR 27
5072: PUSH
5073: LD_INT 1
5075: ST_TO_ADDR
// hc_skills = [ Rand ( 5 , 6 ) , Rand ( 1 , 2 ) , Rand ( 1 , 2 ) , Rand ( 1 , 2 ) ] ;
5076: LD_ADDR_OWVAR 31
5080: PUSH
5081: LD_INT 5
5083: PPUSH
5084: LD_INT 6
5086: PPUSH
5087: CALL_OW 12
5091: PUSH
5092: LD_INT 1
5094: PPUSH
5095: LD_INT 2
5097: PPUSH
5098: CALL_OW 12
5102: PUSH
5103: LD_INT 1
5105: PPUSH
5106: LD_INT 2
5108: PPUSH
5109: CALL_OW 12
5113: PUSH
5114: LD_INT 1
5116: PPUSH
5117: LD_INT 2
5119: PPUSH
5120: CALL_OW 12
5124: PUSH
5125: EMPTY
5126: LIST
5127: LIST
5128: LIST
5129: LIST
5130: ST_TO_ADDR
// L2 = CreateHuman ;
5131: LD_ADDR_EXP 51
5135: PUSH
5136: CALL_OW 44
5140: ST_TO_ADDR
// L1 = CreateHuman ;
5141: LD_ADDR_EXP 50
5145: PUSH
5146: CALL_OW 44
5150: ST_TO_ADDR
// PlaceUnitArea ( L1 , WSPARCIE , false ) ;
5151: LD_EXP 50
5155: PPUSH
5156: LD_INT 1
5158: PPUSH
5159: LD_INT 0
5161: PPUSH
5162: CALL_OW 49
// PlaceUnitArea ( L2 , WSPARCIE , false ) ;
5166: LD_EXP 51
5170: PPUSH
5171: LD_INT 1
5173: PPUSH
5174: LD_INT 0
5176: PPUSH
5177: CALL_OW 49
// end ; end_of_file
5181: LD_VAR 0 1
5185: RET
// every 0 0$1 trigger IsDead ( DR ) do
5186: LD_EXP 6
5190: PPUSH
5191: CALL_OW 301
5195: IFFALSE 5207
5197: GO 5199
5199: DISABLE
// begin YouLost ( ded2 ) ;
5200: LD_STRING ded2
5202: PPUSH
5203: CALL_OW 104
// end ;
5207: END
// every 0 0$1 trigger IsDead ( OWChyba ) do
5208: LD_EXP 4
5212: PPUSH
5213: CALL_OW 301
5217: IFFALSE 5229
5219: GO 5221
5221: DISABLE
// begin YouLost ( ded ) ;
5222: LD_STRING ded
5224: PPUSH
5225: CALL_OW 104
// end ; end_of_file
5229: END
// export function medale ; begin
5230: LD_INT 0
5232: PPUSH
// if FilterAllUnits ( [ [ f_side , 4 ] , [ f_type , unit_human ] ] ) >= 15 then
5233: LD_INT 22
5235: PUSH
5236: LD_INT 4
5238: PUSH
5239: EMPTY
5240: LIST
5241: LIST
5242: PUSH
5243: LD_INT 21
5245: PUSH
5246: LD_INT 1
5248: PUSH
5249: EMPTY
5250: LIST
5251: LIST
5252: PUSH
5253: EMPTY
5254: LIST
5255: LIST
5256: PPUSH
5257: CALL_OW 69
5261: PUSH
5262: LD_INT 15
5264: GREATEREQUAL
5265: IFFALSE 5279
// AddMedal ( med1 , 1 ) else
5267: LD_STRING med1
5269: PPUSH
5270: LD_INT 1
5272: PPUSH
5273: CALL_OW 101
5277: GO 5290
// AddMedal ( med1 , - 1 ) ;
5279: LD_STRING med1
5281: PPUSH
5282: LD_INT 1
5284: NEG
5285: PPUSH
5286: CALL_OW 101
// if FilterAllUnits ( [ [ f_side , 4 ] , [ f_weapon , 9 ] ] ) >= 1 then
5290: LD_INT 22
5292: PUSH
5293: LD_INT 4
5295: PUSH
5296: EMPTY
5297: LIST
5298: LIST
5299: PUSH
5300: LD_INT 34
5302: PUSH
5303: LD_INT 9
5305: PUSH
5306: EMPTY
5307: LIST
5308: LIST
5309: PUSH
5310: EMPTY
5311: LIST
5312: LIST
5313: PPUSH
5314: CALL_OW 69
5318: PUSH
5319: LD_INT 1
5321: GREATEREQUAL
5322: IFFALSE 5336
// begin AddMedal ( med2 , 1 ) ;
5324: LD_STRING med2
5326: PPUSH
5327: LD_INT 1
5329: PPUSH
5330: CALL_OW 101
// end else
5334: GO 5347
// begin AddMedal ( med2 , - 1 ) ;
5336: LD_STRING med2
5338: PPUSH
5339: LD_INT 1
5341: NEG
5342: PPUSH
5343: CALL_OW 101
// end ; AddMedal ( med3 , 1 ) ;
5347: LD_STRING med3
5349: PPUSH
5350: LD_INT 1
5352: PPUSH
5353: CALL_OW 101
// GiveMedals ( MAIN ) ;
5357: LD_STRING MAIN
5359: PPUSH
5360: CALL_OW 102
// end ; end_of_file
5364: LD_VAR 0 1
5368: RET
// export center ; every 0 0$1 trigger Center = 1 do
5369: LD_EXP 56
5373: PUSH
5374: LD_INT 1
5376: EQUAL
5377: IFFALSE 5392
5379: GO 5381
5381: DISABLE
// begin ; CenterNowOnUnits ( OWChyba ) ;
5382: LD_EXP 4
5386: PPUSH
5387: CALL_OW 87
// enable ;
5391: ENABLE
// end ; end_of_file
5392: END
// every 0 0$1 do var SniperList , Sniper ;
5393: GO 5395
5395: DISABLE
5396: LD_INT 0
5398: PPUSH
5399: PPUSH
// begin enable ;
5400: ENABLE
// SniperList = FilterAllUnits ( [ [ f_side , 4 ] , [ f_class , 5 ] ] ) ;
5401: LD_ADDR_VAR 0 1
5405: PUSH
5406: LD_INT 22
5408: PUSH
5409: LD_INT 4
5411: PUSH
5412: EMPTY
5413: LIST
5414: LIST
5415: PUSH
5416: LD_INT 25
5418: PUSH
5419: LD_INT 5
5421: PUSH
5422: EMPTY
5423: LIST
5424: LIST
5425: PUSH
5426: EMPTY
5427: LIST
5428: LIST
5429: PPUSH
5430: CALL_OW 69
5434: ST_TO_ADDR
// for Sniper in Sniperlist do
5435: LD_ADDR_VAR 0 2
5439: PUSH
5440: LD_VAR 0 1
5444: PUSH
5445: FOR_IN
5446: IFFALSE 5477
// begin if GetClass ( Sniper ) = Class_sniper then
5448: LD_VAR 0 2
5452: PPUSH
5453: CALL_OW 257
5457: PUSH
5458: LD_INT 5
5460: EQUAL
5461: IFFALSE 5475
// begin SetClass ( Sniper , 1 ) ;
5463: LD_VAR 0 2
5467: PPUSH
5468: LD_INT 1
5470: PPUSH
5471: CALL_OW 336
// end ; end ;
5475: GO 5445
5477: POP
5478: POP
// end ; end_of_file
5479: PPOPN 2
5481: END
// export SoldLevel , EngLevel , MechLevel , SciLevel ; starting begin InGameOn ;
5482: CALL_OW 8
// disable ( 50 ) ;
5486: LD_INT 50
5488: DISABLE_MARKED
// PrepareAmerican ;
5489: CALL 101 0 0
// PrepareHero ;
5493: CALL 1503 0 0
// DR_1 ;
5497: CALL 1584 0 0
// wsparcie1 ;
5501: CALL 1677 0 0
// center = 1 ;
5505: LD_ADDR_EXP 56
5509: PUSH
5510: LD_INT 1
5512: ST_TO_ADDR
// ComMoveToArea ( OWChyba , GODKA ) ;
5513: LD_EXP 4
5517: PPUSH
5518: LD_INT 2
5520: PPUSH
5521: CALL_OW 113
// AddComMoveToArea ( OWChyba , GODKA ) ;
5525: LD_EXP 4
5529: PPUSH
5530: LD_INT 2
5532: PPUSH
5533: CALL_OW 173
// end ;
5537: END
// every 0 0$01 trigger IsInArea ( OWChyba , GODKA ) do
5538: LD_EXP 4
5542: PPUSH
5543: LD_INT 2
5545: PPUSH
5546: CALL_OW 308
5550: IFFALSE 5935
5552: GO 5554
5554: DISABLE
// begin ComExitBuilding ( Dr ) ;
5555: LD_EXP 6
5559: PPUSH
5560: CALL_OW 122
// ComHold ( OWChyba ) ;
5564: LD_EXP 4
5568: PPUSH
5569: CALL_OW 140
// ComHold ( DR ) ;
5573: LD_EXP 6
5577: PPUSH
5578: CALL_OW 140
// ComTurnUnit ( OWChyba , DR ) ;
5582: LD_EXP 4
5586: PPUSH
5587: LD_EXP 6
5591: PPUSH
5592: CALL_OW 119
// ComTurnUnit ( DR , OWChyba ) ;
5596: LD_EXP 6
5600: PPUSH
5601: LD_EXP 4
5605: PPUSH
5606: CALL_OW 119
// Say ( DR , T1 ) ;
5610: LD_EXP 6
5614: PPUSH
5615: LD_STRING T1
5617: PPUSH
5618: CALL_OW 88
// Say ( OWChyba , T2 ) ;
5622: LD_EXP 4
5626: PPUSH
5627: LD_STRING T2
5629: PPUSH
5630: CALL_OW 88
// Say ( DR , T3 ) ;
5634: LD_EXP 6
5638: PPUSH
5639: LD_STRING T3
5641: PPUSH
5642: CALL_OW 88
// Say ( OWChyba , T4 ) ;
5646: LD_EXP 4
5650: PPUSH
5651: LD_STRING T4
5653: PPUSH
5654: CALL_OW 88
// Say ( DR , T5 ) ;
5658: LD_EXP 6
5662: PPUSH
5663: LD_STRING T5
5665: PPUSH
5666: CALL_OW 88
// Say ( OWChyba , T6 ) ;
5670: LD_EXP 4
5674: PPUSH
5675: LD_STRING T6
5677: PPUSH
5678: CALL_OW 88
// Say ( DR , T7 ) ;
5682: LD_EXP 6
5686: PPUSH
5687: LD_STRING T7
5689: PPUSH
5690: CALL_OW 88
// Say ( OWChyba , T8 ) ;
5694: LD_EXP 4
5698: PPUSH
5699: LD_STRING T8
5701: PPUSH
5702: CALL_OW 88
// ChangeMissionObjectives ( M1 ) ;
5706: LD_STRING M1
5708: PPUSH
5709: CALL_OW 337
// center = 0 ;
5713: LD_ADDR_EXP 56
5717: PUSH
5718: LD_INT 0
5720: ST_TO_ADDR
// InGameOff ;
5721: CALL_OW 9
// SaveForQuickRestart ;
5725: CALL_OW 22
// wait ( 8 8$0 ) ;
5729: LD_INT 16800
5731: PPUSH
5732: CALL_OW 67
// Arabian_left_1 ;
5736: CALL 2421 0 0
// Arabian_left_3 ;
5740: CALL 3119 0 0
// Arabian_right_1 ;
5744: CALL 4056 0 0
// Arabian_right_2 ;
5748: CALL 4405 0 0
// wait ( 3 3$0 ) ;
5752: LD_INT 6300
5754: PPUSH
5755: CALL_OW 67
// wsparcie2 ;
5759: CALL 4754 0 0
// Say ( L1 , WSPARCIE1 ) ;
5763: LD_EXP 50
5767: PPUSH
5768: LD_STRING WSPARCIE1
5770: PPUSH
5771: CALL_OW 88
// wait ( 8 8$0 ) ;
5775: LD_INT 16800
5777: PPUSH
5778: CALL_OW 67
// Arabian_left_1 ;
5782: CALL 2421 0 0
// Arabian_left_1 ;
5786: CALL 2421 0 0
// Arabian_left_3 ;
5790: CALL 3119 0 0
// Arabian_left_2 ;
5794: CALL 2770 0 0
// Arabian_right_1 ;
5798: CALL 4056 0 0
// Arabian_right_2 ;
5802: CALL 4405 0 0
// wait ( 3 3$0 ) ;
5806: LD_INT 6300
5808: PPUSH
5809: CALL_OW 67
// SayRadio ( PULK_01 , Z1 ) ;
5813: LD_EXP 5
5817: PPUSH
5818: LD_STRING Z1
5820: PPUSH
5821: CALL_OW 94
// SayRadio ( OWChyba , Z2 ) ;
5825: LD_EXP 4
5829: PPUSH
5830: LD_STRING Z2
5832: PPUSH
5833: CALL_OW 94
// SayRadio ( PULK_01 , Z3 ) ;
5837: LD_EXP 5
5841: PPUSH
5842: LD_STRING Z3
5844: PPUSH
5845: CALL_OW 94
// SayRadio ( OWChyba , Z4 ) ;
5849: LD_EXP 4
5853: PPUSH
5854: LD_STRING Z4
5856: PPUSH
5857: CALL_OW 94
// SayRadio ( PULK_01 , Z5 ) ;
5861: LD_EXP 5
5865: PPUSH
5866: LD_STRING Z5
5868: PPUSH
5869: CALL_OW 94
// SayRadio ( OWChyba , Z6 ) ;
5873: LD_EXP 4
5877: PPUSH
5878: LD_STRING Z6
5880: PPUSH
5881: CALL_OW 94
// SayRadio ( PULK_01 , ATAK1 ) ;
5885: LD_EXP 5
5889: PPUSH
5890: LD_STRING ATAK1
5892: PPUSH
5893: CALL_OW 94
// ChangeMissionObjectives ( M2 ) ;
5897: LD_STRING M2
5899: PPUSH
5900: CALL_OW 337
// wait ( 3 3$0 ) ;
5904: LD_INT 6300
5906: PPUSH
5907: CALL_OW 67
// Arabian_left_1 ;
5911: CALL 2421 0 0
// Arabian_left_3 ;
5915: CALL 3119 0 0
// Arabian_left_2 ;
5919: CALL 2770 0 0
// Arabian_right_1 ;
5923: CALL 4056 0 0
// Arabian_right_2 ;
5927: CALL 4405 0 0
// atak_suprise ;
5931: CALL 3468 0 0
// end ;
5935: END
// every 0 0$1 trigger FilterAllUnits ( [ [ f_side , 2 ] , [ f_type , unit_human ] ] ) = 0 do
5936: LD_INT 22
5938: PUSH
5939: LD_INT 2
5941: PUSH
5942: EMPTY
5943: LIST
5944: LIST
5945: PUSH
5946: LD_INT 21
5948: PUSH
5949: LD_INT 1
5951: PUSH
5952: EMPTY
5953: LIST
5954: LIST
5955: PUSH
5956: EMPTY
5957: LIST
5958: LIST
5959: PPUSH
5960: CALL_OW 69
5964: PUSH
5965: LD_INT 0
5967: EQUAL
5968: IFFALSE 6006
5970: GO 5972
5972: DISABLE
// begin enable ;
5973: ENABLE
// SaveCharacters ( OWChyba , OWChyba ) ;
5974: LD_EXP 4
5978: PPUSH
5979: LD_STRING OWChyba
5981: PPUSH
5982: CALL_OW 38
// SaveCharacters ( PULK_01 , PULK_01 ) ;
5986: LD_EXP 5
5990: PPUSH
5991: LD_STRING PULK_01
5993: PPUSH
5994: CALL_OW 38
// medale ;
5998: CALL 5230 0 0
// YouWin ;
6002: CALL_OW 103
// end ; end_of_file
6006: END
// every 0 0$01 do var EnginerList , EnginerListOutside , buildings , i ;
6007: GO 6009
6009: DISABLE
6010: LD_INT 0
6012: PPUSH
6013: PPUSH
6014: PPUSH
6015: PPUSH
// begin enable ;
6016: ENABLE
// EnginerList := UnitsInside ( sklad1 ) ;
6017: LD_ADDR_VAR 0 1
6021: PUSH
6022: LD_INT 27
6024: PPUSH
6025: CALL_OW 313
6029: ST_TO_ADDR
// buildings := FilterUnitsInArea ( ARABSCY , [ [ [ f_side , 3 ] , [ f_type , unit_building ] , [ f_not , [ f_lives , 1000 ] ] ] ] ) ;
6030: LD_ADDR_VAR 0 3
6034: PUSH
6035: LD_INT 3
6037: PPUSH
6038: LD_INT 22
6040: PUSH
6041: LD_INT 3
6043: PUSH
6044: EMPTY
6045: LIST
6046: LIST
6047: PUSH
6048: LD_INT 21
6050: PUSH
6051: LD_INT 3
6053: PUSH
6054: EMPTY
6055: LIST
6056: LIST
6057: PUSH
6058: LD_INT 3
6060: PUSH
6061: LD_INT 24
6063: PUSH
6064: LD_INT 1000
6066: PUSH
6067: EMPTY
6068: LIST
6069: LIST
6070: PUSH
6071: EMPTY
6072: LIST
6073: LIST
6074: PUSH
6075: EMPTY
6076: LIST
6077: LIST
6078: LIST
6079: PUSH
6080: EMPTY
6081: LIST
6082: PPUSH
6083: CALL_OW 70
6087: ST_TO_ADDR
// EnginerListOutside := FilterAllUnits ( [ [ [ f_side , 2 ] , [ f_class , 2 ] ] ] ) ;
6088: LD_ADDR_VAR 0 2
6092: PUSH
6093: LD_INT 22
6095: PUSH
6096: LD_INT 2
6098: PUSH
6099: EMPTY
6100: LIST
6101: LIST
6102: PUSH
6103: LD_INT 25
6105: PUSH
6106: LD_INT 2
6108: PUSH
6109: EMPTY
6110: LIST
6111: LIST
6112: PUSH
6113: EMPTY
6114: LIST
6115: LIST
6116: PUSH
6117: EMPTY
6118: LIST
6119: PPUSH
6120: CALL_OW 69
6124: ST_TO_ADDR
// if buildings > 0 then
6125: LD_VAR 0 3
6129: PUSH
6130: LD_INT 0
6132: GREATER
6133: IFFALSE 6295
// begin repeat for i = 1 to EnginerList do
6135: LD_ADDR_VAR 0 4
6139: PUSH
6140: DOUBLE
6141: LD_INT 1
6143: DEC
6144: ST_TO_ADDR
6145: LD_VAR 0 1
6149: PUSH
6150: FOR_TO
6151: IFFALSE 6237
// begin if IsInUnit ( EnginerList [ i ] ) then
6153: LD_VAR 0 1
6157: PUSH
6158: LD_VAR 0 4
6162: ARRAY
6163: PPUSH
6164: CALL_OW 310
6168: IFFALSE 6211
// begin ComExitBuilding ( EnginerList [ i ] ) ;
6170: LD_VAR 0 1
6174: PUSH
6175: LD_VAR 0 4
6179: ARRAY
6180: PPUSH
6181: CALL_OW 122
// AddComRepairBuilding ( EnginerList [ i ] , buildings [ 1 ] ) ;
6185: LD_VAR 0 1
6189: PUSH
6190: LD_VAR 0 4
6194: ARRAY
6195: PPUSH
6196: LD_VAR 0 3
6200: PUSH
6201: LD_INT 1
6203: ARRAY
6204: PPUSH
6205: CALL_OW 190
// end else
6209: GO 6235
// AddComRepairBuilding ( EnginerList [ i ] , buildings [ 1 ] ) ;
6211: LD_VAR 0 1
6215: PUSH
6216: LD_VAR 0 4
6220: ARRAY
6221: PPUSH
6222: LD_VAR 0 3
6226: PUSH
6227: LD_INT 1
6229: ARRAY
6230: PPUSH
6231: CALL_OW 190
// end ;
6235: GO 6150
6237: POP
6238: POP
// wait ( 0 0$01 ) ;
6239: LD_INT 35
6241: PPUSH
6242: CALL_OW 67
// until FilterUnitsInArea ( ARABSCY , [ [ [ f_side , 2 ] , [ f_type , unit_building ] , [ f_lives , 1000 ] ] ] ) end else
6246: LD_INT 3
6248: PPUSH
6249: LD_INT 22
6251: PUSH
6252: LD_INT 2
6254: PUSH
6255: EMPTY
6256: LIST
6257: LIST
6258: PUSH
6259: LD_INT 21
6261: PUSH
6262: LD_INT 3
6264: PUSH
6265: EMPTY
6266: LIST
6267: LIST
6268: PUSH
6269: LD_INT 24
6271: PUSH
6272: LD_INT 1000
6274: PUSH
6275: EMPTY
6276: LIST
6277: LIST
6278: PUSH
6279: EMPTY
6280: LIST
6281: LIST
6282: LIST
6283: PUSH
6284: EMPTY
6285: LIST
6286: PPUSH
6287: CALL_OW 70
6291: IFFALSE 6135
6293: GO 6382
// if FilterUnitsInArea ( ARABSCY , [ [ [ f_side , 2 ] , [ f_type , unit_building ] , [ f_lives , 1000 ] ] ] ) then
6295: LD_INT 3
6297: PPUSH
6298: LD_INT 22
6300: PUSH
6301: LD_INT 2
6303: PUSH
6304: EMPTY
6305: LIST
6306: LIST
6307: PUSH
6308: LD_INT 21
6310: PUSH
6311: LD_INT 3
6313: PUSH
6314: EMPTY
6315: LIST
6316: LIST
6317: PUSH
6318: LD_INT 24
6320: PUSH
6321: LD_INT 1000
6323: PUSH
6324: EMPTY
6325: LIST
6326: LIST
6327: PUSH
6328: EMPTY
6329: LIST
6330: LIST
6331: LIST
6332: PUSH
6333: EMPTY
6334: LIST
6335: PPUSH
6336: CALL_OW 70
6340: IFFALSE 6382
// begin for i = 1 to EnginerListOutside do
6342: LD_ADDR_VAR 0 4
6346: PUSH
6347: DOUBLE
6348: LD_INT 1
6350: DEC
6351: ST_TO_ADDR
6352: LD_VAR 0 2
6356: PUSH
6357: FOR_TO
6358: IFFALSE 6380
// begin ComEnterUnit ( EnginerListOutside [ i ] , sklad1 ) ;
6360: LD_VAR 0 2
6364: PUSH
6365: LD_VAR 0 4
6369: ARRAY
6370: PPUSH
6371: LD_INT 27
6373: PPUSH
6374: CALL_OW 120
// end ;
6378: GO 6357
6380: POP
6381: POP
// end ; end ; end_of_file
6382: PPOPN 4
6384: END
// every 0 0$01 trigger GetTech ( tech_Laser , 4 ) = state_researched do var DoctorList ;
6385: LD_INT 10
6387: PPUSH
6388: LD_INT 4
6390: PPUSH
6391: CALL_OW 321
6395: PUSH
6396: LD_INT 2
6398: EQUAL
6399: IFFALSE 6436
6401: GO 6403
6403: DISABLE
6404: LD_INT 0
6406: PPUSH
// begin DoctorList := UnitsInside ( lab1 ) ;
6407: LD_ADDR_VAR 0 1
6411: PUSH
6412: LD_INT 18
6414: PPUSH
6415: CALL_OW 313
6419: ST_TO_ADDR
// Say ( DoctorList [ 1 ] , info ) ;
6420: LD_VAR 0 1
6424: PUSH
6425: LD_INT 1
6427: ARRAY
6428: PPUSH
6429: LD_STRING info
6431: PPUSH
6432: CALL_OW 88
// end ; end_of_file
6436: PPOPN 1
6438: END
// every 2 2$30 trigger FilterAllUnits ( [ [ f_side , 2 ] , [ f_type , unit_vehicle ] , [ f_control , Control_manual ] ] ) = 0 do
6439: LD_INT 22
6441: PUSH
6442: LD_INT 2
6444: PUSH
6445: EMPTY
6446: LIST
6447: LIST
6448: PUSH
6449: LD_INT 21
6451: PUSH
6452: LD_INT 2
6454: PUSH
6455: EMPTY
6456: LIST
6457: LIST
6458: PUSH
6459: LD_INT 33
6461: PUSH
6462: LD_INT 1
6464: PUSH
6465: EMPTY
6466: LIST
6467: LIST
6468: PUSH
6469: EMPTY
6470: LIST
6471: LIST
6472: LIST
6473: PPUSH
6474: CALL_OW 69
6478: PUSH
6479: LD_INT 0
6481: EQUAL
6482: IFFALSE 6545
6484: GO 6486
6486: DISABLE
// begin enable ;
6487: ENABLE
// AddComConstruct ( fabryka1 , ar_half_tracked , engine_combustion , control_manual , ar_gun ) ;
6488: LD_INT 89
6490: PPUSH
6491: LD_INT 14
6493: PPUSH
6494: LD_INT 1
6496: PPUSH
6497: LD_INT 1
6499: PPUSH
6500: LD_INT 27
6502: PPUSH
6503: CALL_OW 185
// AddComConstruct ( fabryka1 , ar_half_tracked , engine_combustion , control_manual , ar_gatling_gun ) ;
6507: LD_INT 89
6509: PPUSH
6510: LD_INT 14
6512: PPUSH
6513: LD_INT 1
6515: PPUSH
6516: LD_INT 1
6518: PPUSH
6519: LD_INT 25
6521: PPUSH
6522: CALL_OW 185
// AddComConstruct ( fabryka1 , ar_half_tracked , engine_combustion , control_manual , ar_gun ) ;
6526: LD_INT 89
6528: PPUSH
6529: LD_INT 14
6531: PPUSH
6532: LD_INT 1
6534: PPUSH
6535: LD_INT 1
6537: PPUSH
6538: LD_INT 27
6540: PPUSH
6541: CALL_OW 185
// end ;
6545: END
// every 0 0$01 do
6546: GO 6548
6548: DISABLE
// begin enable ;
6549: ENABLE
// if FilterAllUnits ( [ [ f_side , 2 ] , [ f_type , unit_vehicle ] , [ f_control , Control_manual ] ] ) = 3 then
6550: LD_INT 22
6552: PUSH
6553: LD_INT 2
6555: PUSH
6556: EMPTY
6557: LIST
6558: LIST
6559: PUSH
6560: LD_INT 21
6562: PUSH
6563: LD_INT 2
6565: PUSH
6566: EMPTY
6567: LIST
6568: LIST
6569: PUSH
6570: LD_INT 33
6572: PUSH
6573: LD_INT 1
6575: PUSH
6576: EMPTY
6577: LIST
6578: LIST
6579: PUSH
6580: EMPTY
6581: LIST
6582: LIST
6583: LIST
6584: PPUSH
6585: CALL_OW 69
6589: PUSH
6590: LD_INT 3
6592: EQUAL
6593: IFFALSE 6600
// begin enable ( 50 ) ;
6595: LD_INT 50
6597: ENABLE_MARKED
// end else
6598: GO 6648
// if FilterAllUnits ( [ [ f_side , 2 ] , [ f_type , unit_vehicle ] , [ f_control , Control_manual ] ] ) = 3 then
6600: LD_INT 22
6602: PUSH
6603: LD_INT 2
6605: PUSH
6606: EMPTY
6607: LIST
6608: LIST
6609: PUSH
6610: LD_INT 21
6612: PUSH
6613: LD_INT 2
6615: PUSH
6616: EMPTY
6617: LIST
6618: LIST
6619: PUSH
6620: LD_INT 33
6622: PUSH
6623: LD_INT 1
6625: PUSH
6626: EMPTY
6627: LIST
6628: LIST
6629: PUSH
6630: EMPTY
6631: LIST
6632: LIST
6633: LIST
6634: PPUSH
6635: CALL_OW 69
6639: PUSH
6640: LD_INT 3
6642: EQUAL
6643: IFFALSE 6648
// begin disable ( 50 ) ;
6645: LD_INT 50
6647: DISABLE_MARKED
// end ; end ;
6648: END
// every 0 0$2 marked 50 do var i , atakujacy , broniacy ;
6649: GO 6651
6651: DISABLE
6652: LD_INT 0
6654: PPUSH
6655: PPUSH
6656: PPUSH
// begin enable ;
6657: ENABLE
// broniacy = FilterAllUnits ( [ f_side , 4 ] ) ;
6658: LD_ADDR_VAR 0 3
6662: PUSH
6663: LD_INT 22
6665: PUSH
6666: LD_INT 4
6668: PUSH
6669: EMPTY
6670: LIST
6671: LIST
6672: PPUSH
6673: CALL_OW 69
6677: ST_TO_ADDR
// atakujacy = FilterAllUnits ( [ [ f_side , 2 ] , [ f_type , unit_vehicle ] , [ f_control , Control_manual ] ] ) ;
6678: LD_ADDR_VAR 0 2
6682: PUSH
6683: LD_INT 22
6685: PUSH
6686: LD_INT 2
6688: PUSH
6689: EMPTY
6690: LIST
6691: LIST
6692: PUSH
6693: LD_INT 21
6695: PUSH
6696: LD_INT 2
6698: PUSH
6699: EMPTY
6700: LIST
6701: LIST
6702: PUSH
6703: LD_INT 33
6705: PUSH
6706: LD_INT 1
6708: PUSH
6709: EMPTY
6710: LIST
6711: LIST
6712: PUSH
6713: EMPTY
6714: LIST
6715: LIST
6716: LIST
6717: PPUSH
6718: CALL_OW 69
6722: ST_TO_ADDR
// for i in atakujacy do
6723: LD_ADDR_VAR 0 1
6727: PUSH
6728: LD_VAR 0 2
6732: PUSH
6733: FOR_IN
6734: IFFALSE 6762
// begin ComAttackUnit ( i , NearestUnitToUnit ( broniacy , i ) ) ;
6736: LD_VAR 0 1
6740: PPUSH
6741: LD_VAR 0 3
6745: PPUSH
6746: LD_VAR 0 1
6750: PPUSH
6751: CALL_OW 74
6755: PPUSH
6756: CALL_OW 115
// end ;
6760: GO 6733
6762: POP
6763: POP
// end ;
6764: PPOPN 3
6766: END
